Django基础1——项目实现流程

文章目录

  • 一、前提了解
  • 二、准备开发环境
    • 2.1 创建项目
      • 2.1.1 pycharm创建
      • 2.1.2 命令创建
    • 2.2 创建应用
  • 例1:效果实现
  • 例2:网页展示日志文件

一、前提了解

基本了解:

  • 官网
  • Django是Python的一个主流Web框架,提供一站式解决方案,开发成本低,内建ORM、数据管理后台、登录
    认证、表单、RESTAPI等功能,适合开发中大型项目。
  • 其他Web框架:Flask(轻量级)、Tornado(异步)

工作流程:

  1. 浏览器访问url时,先通过django到路由系统,也就是先读urls.py文件里的逻辑。
  2. 根据urls.py中定义的路由规则,将请求发送到对应的视图函数中,也就是发送到views.py文件中,根据请求的uri执行对应的业务逻辑函数。
  3. 渲染前端网页时,会使用到templates目录中的html模板文件,此时根据需求编写对应的渲染效果逻辑。
  4. 若开发的网站要存放数据,就会涉及到数据库,此时就要使用ORM数据模型作为“中介”,对数据进行中转处理。
    在这里插入图片描述

二、准备开发环境

安装软件安装方式
Python3.8官方网站下载安装程序:https://www.python.org/downloads/windows/
Django3.0pip install django==3.0.5
Pycharm Pro官方网站下载安装程序
PyMySQLpip install pymysql
MySQL5.7https://dev.mysql.com/downloads/mysql/

在这里插入图片描述
1.本地安装Django。

pip install django==3.0.5

在这里插入图片描述

2.1 创建项目

2.1.1 pycharm创建

1.如下页面进行创建。
在这里插入图片描述
2.创建完后会自动生成项目的默认文件。

在这里插入图片描述
3.运行项目。会有个报错,原因是使用Django2,settings文件中通常引入os包进行路径配置,而jango3中的写法有所改变,但TEMPLATES中写法不变,所以就职语法错误,只需要修改成Django2中的写法即可解决。

##修改成如下配置。
'DIRS': [os.path.join(BASE_DIR,'templates')],

在这里插入图片描述
在这里插入图片描述
4.访问Django首页。
在这里插入图片描述

2.1.2 命令创建

1.创建一个项目qingjun。

django-admin startproject qingjun

在这里插入图片描述
2.运行项目。

python manage.py runserver 0.0.0.0:8888

在这里插入图片描述
3.访问Django首页。
在这里插入图片描述

2.2 创建应用

  • 一个项目中可以有很多个功能模块,每个模块由对应的app应用来实现。
  • 概念图:
    在这里插入图片描述

1.创建命令。

python manage.py startapp myapp    ##myapp为应用名称。

例1:效果实现

1.创建一个应用,名为apm

python manage.py startapp apm 

在这里插入图片描述
2.添加url路由规则。

##urls.py文件末尾添加。from django.contrib import admin
from django.urls import path
from apm import views     ##导入apm应用中的views模块文件。
urlpatterns = [path('index', views.index), # /index表示web访问地址,路由到views模块中的index函数,由该函数执行返回内容。path('admin/', admin.site.urls),
]

3.添加视图。

##添加视图,也是业务逻辑,views.py文件中添加。from django.shortcuts import render,HttpResponse   ##导入处理响应模块HttpResponse 
def index(request):    ##传入第一个参数为request,是固定写法。return HttpResponse("我是qingjun")

4.访问网页。
在这里插入图片描述

总结:

  1. 可见客户浏览器访问网页,是先到路由文件urls.py,再转发给views.py中的函数执行代码逻辑。
  2. 这里我们返回的是一个字符串,也可以返回一个html文件。

例2:网页展示日志文件

1.添加视图函数,编写业务逻辑。

##views.py文件添加。from django.shortcuts import render  ##渲染html页面的子模块。
from django.http import HttpResponse   ##处理响应模块。def index(request):return HttpResponse("首页")def logs(request):import oscurrent_dir = os.getcwd()     ##获取项目根目录。# current_dir = os.path.dirname(os.path.abspath(__file__))with open(current_dir + "\\mysql.log") as f:      ##拼接目录,读取日志文件,这里是windows系统需要进行转义。result = f.read()print(result)# return HttpResponse(result)   ##访问web页面,返回字符串。return render(request, 'logs.html', {'baimu': result})  ##request是固定写法,表示请求信息;第二列表示模板文件,第三列表示向模板文件里传入的参数。

2.添加URL路由规则。

##urls.py文件添加。from django.contrib import admin
from django.urls import path
from apm import viewsurlpatterns = [path('index', views.index),   ##/index访问。path('admin/', admin.site.urls),path('logs', views.logs),
]

3.创建html模板,对web页面进行渲染。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>日志文件显示</title>
</head>
<body>
<h1>mysql实时日志</h1>
<div style="background-color: black;color: white">    ##字体颜色。
<span style="font-size: 20px"><pre>{{ baimu }}</pre></span>    ##调整字体大小,<pre>是保留mysql.log文件输出格式。
</div>
</body>
</html>

4.访问网页。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.部署项目

项目地址&#xff1a;RuoYi-Cloud-Plus: 项目正式入驻 dromara 开源社区 迁移地址: https://gitee.com/dromara/RuoYi-Cloud-Plus 1.获取源码 需要有gitee账户 先把源码fork到自己的仓库中 需要多等待一段时间 勾选对应的环境 构建项目 2.sql导入 将sql导入到与sql文件名…

# 电脑好用的工具推荐

电脑好用的工具推荐 文章目录 电脑好用的工具推荐必装工具浏览器火绒安全卸载工具Geek迅雷 记笔记工具Typora印象笔记 开发工具IntelliJ IDEAVisual Studio CodeDbeaverAnother Redis Desktop Manager 备份工具百度网盘阿里云盘一刻相册蓝奏云 必装工具 浏览器 就别装那些乱七…

https非对称加密算法

非对称加密算法原理 在客户端公开公钥&#xff0c;服务端保存私钥 1.客户端第一次请求先请求443端口&#xff0c;从443端口下载公钥。 2.客户端将数据进行公钥算法进行加密&#xff0c;将秘文发送到服务端 服务端收到秘文后&#xff0c;通过私钥算法进行解密得到明文数据。…

cuda gdb调试

如果cudaDeviceEnablePeerAccess函数不支持或不起作用&#xff0c;您仍然可以尝试其他方法来实现GPU之间的数据交换和通信。以下是一些替代方法&#xff1a; 通过主机内存进行数据传输&#xff1a; 如果GPU之间的数据交换不是非常频繁&#xff0c;您可以将数据从一个GPU复制到…

《Linux从练气到飞升》No.16 Linux 进程地址空间

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…

【NepCTF2023】复现

文章目录 【NepCTF2023】复现MISC与AI共舞的哈夫曼codesc语言获取环境变量 小叮弹钢琴陌生的语言你也喜欢三月七么Ez_BASIC_IImisc参考 WEBez_java_checkinPost Crad For You独步天下配置环境独步天下-镜花水月环境变量提权 独步天下-破除虚妄总结 独步天下-破除试炼_加冕成王知…

耕地单目标语义分割实践——Pytorch网络过程实现理解

一、卷积操作 &#xff08;一&#xff09;普通卷积&#xff08;Convolution&#xff09; &#xff08;二&#xff09;空洞卷积&#xff08;Atrous Convolution&#xff09; 根据空洞卷积的定义&#xff0c;显然可以意识到空洞卷积可以提取到同一输入的不同尺度下的特征图&…

Excel/PowerPoint条形图改变顺序

条形图是从下往上排的&#xff0c;很多时候不是我们想要的效果 解决方案 选择坐标轴&#xff0c;双击&#xff0c;按下图顺序点击 效果

dockerfile编写LNMP

目录 1. 项目环境 2. 服务器环境 二、部署nginx&#xff08;容器IP为192.168.158.26&#xff09; 1、整个Dockerfile文件内容 ​编辑 2、配置nginx.conf文件 3、构建镜像 三、部署mysql 1、整个Docker文件内容 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PHP部署 1…

【STM32CubeMX】低功耗模式

前言 本文讲解STM32F10X的低功耗模式&#xff0c;部分资料参考自STM32手册。STM32F10X提供了三种低功耗模式&#xff1a;睡眠模式&#xff08;Sleep mode&#xff09;、停机模式&#xff08;Stop mode&#xff09;和待机模式&#xff08;Standby mode&#xff09;。这些低功耗模…

2023国赛数学建模A题思路模型代码汇总 高教社杯

本次比赛我们将会全程更新思路模型及代码&#xff0c;大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社…

如何使用CSS实现一个瀑布流布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现瀑布流布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚…

Kafka单节点部署

&#x1f388; 作者&#xff1a;互联网-小啊宇 &#x1f388; 简介&#xff1a; CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作&#xff0c;擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

高速、稳定、安全:4G工业路由器在户外环境下的组网优势

能够在无人值守的户外环境下实现组网和远程监控功能的4G工业路由器&#xff01;工业级路由器具备防尘、防水、耐高温等特性&#xff0c;适用应用在恶劣的户外及工业场景中&#xff0c;如远程农田监测、驾考科目二/科目三、智能交通系统、环境监控、煤矿数据采集、水利远程管理等…

C++——oo的魅力之多态

文章目录 多态的概念多态的定义和实现多态的构成条件虚函数重写的两个例外协变(基类和派生类虚函数返回值类型不同)析构函数的重写(基类和派生类析构函数名字不同) c11 override 和 final关键字 重载&#xff0c;重写(覆盖)&#xff0c; 隐藏(重定义)对比抽象类(纯虚函数)多态的…

SOLIDWORKS基准面介绍

SOLIDWORKS是一款广泛应用于机械设计领域的三维建模软件&#xff0c;其中基准面是在建模过程中必不可少的要素。本文将介绍什么是SOLIDWORKS基准面&#xff0c;以及它在设计中的作用。 SOLIDWORKS基准面是指在设计过程中用来确定草图绘制、特征创建的参考平面。 SOLIDWORKS基…

天锐绿盾安全U盘系统

安全U盘系统 01 简介 天锐绿盾安全U盘系统&#xff0c;是一款致力于保障U盘数据内容安全的产品。通过严格身份认证、便捷安全的密保机制、智能的U盘锁定或自毁设置、详细的文件操作日志、文件粉碎、设置还原等&#xff0c;天锐绿盾安全U盘系统为您U盘的数据保驾护航&#xff0…

python 打印一个条形堆积图

背景 今天介绍一个不使用 matplot&#xff0c;通过 DebugInfo模块打印条形堆积图 的方法。 引入模块 pip install DebugInfo打印销售转化数据 下面的代码构建了两个销售团队&#xff0c;团队A 和团队B&#xff1b;两个团队的销售数据构成了公司总的销售成果。以条形堆积图的…

SQL Server、MySQL和Oracle数据库分页查询的区别与联系

摘要&#xff1a;本文将通过一个现实例子&#xff0c;详细解释SQL Server、MySQL和Oracle这三种常见关系型数据库在分页查询方面的区别与联系。我们将提供具体场景下的SQL语句示例&#xff0c;并解释每个数据库的分页查询用法以及优化方法&#xff0c;帮助读者更好地选择适合自…

Apache JMeter

下载 Apache JMeter 并安装 java链接 打开 apache-jmeter-5.4.1\bin 找到jmeter.bat 双击打开 或者 ApacheJMeter.jar 双击打开 设置中文 找到 options 》choose Language 》chinese 新建 计划 创建线程组 添加Http请求 配置元件添加请求头参数&#xff08;content-type&…