当前位置: 首页 > news >正文

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.lryc.cn/news/141173.html

相关文章:

  • 基于SSM的在线购物系统——LW模板
  • Mac操作系统上设置和配置PPPoE连接
  • Python类的属性和方法
  • C#Queue<T>队列出现弹出元素被最后一次压入得元素覆盖的问题
  • python3GUI--模仿一些b站网页端组件By:PyQt5(详细介绍、附下载地址)
  • 聚类分析概述
  • 建模杂谈系列234 基于图的程序改造
  • requestAnimationFrame(RAF)
  • 【JavaScript笔记】面对对象与构造函数
  • ​LeetCode解法汇总5-正则表达式匹配​
  • 前端开发工具: VSCode
  • 【Stable-Diffusion-WebUI】Windows系统安装Stable-Diffusion-WebUI
  • 面试题(三)
  • 谈谈子网划分的定义、作用、划分方式以及案例
  • BIO到NIO、多路复用器, 从理论到实践, 结合实际案例对比各自效率与特点(下)
  • Pandas数据分析教程-pandas的数据结构
  • ChatGPT在医疗系统的应用探索动态
  • 【FreeRTOS】【应用篇】任务管理相关函数
  • 第一个react应用程序并添加样式
  • Java——Object类
  • CotEditor for mac 4.0.1 中文版(开源文本编辑器)
  • 【大数据】图解 Hadoop 生态系统及其组件
  • c++ qt--事件过滤(第七部分)
  • Inventor软件安装包分享(附安装教程)
  • STM32F103 4G Cat.1模块EC200S使用
  • 38、springboot为 spring mvc 提供的静态资源管理,覆盖和添加静态资源目录
  • Go 输出函数
  • L1-037 A除以B(Python实现) 测试点全过
  • 睿思BI旗舰版V5.3正式发布
  • 基于Jenkins自动化部署PHP环境---基于rsync部署