欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python:Django

时间:2023-05-21

Web应用程序的本质:

接收并解析HTTP请求,获取具体的请求信息处理本次HTTP请求,即完成本次请求的业务逻辑处理构造并返回处理结果——HTTP响应

Web应用框架就是有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。

一、Django介绍

Django 采用了 MVT 的软件设计模式:

模型(Model)视图(View)模板(Template)

MTV模式并非Django首创,在其他语言中也有类似的MVC设计模式,甚至可以说django里面的MVT事实上是借鉴了MVC模式衍生出来的。

M,Model,模型,是用于完成操作数据库的。V,View,视图,里面的代码就是用于展示给客户端的页面效果。C,Controller,控制器,是一个类或者函数,里面的代码就是用于项目功能逻辑的,一般用于调用模型来获取数据,获取到的数据通过调用视图文件返回给客户端。

而Django中的MTV指的是:

M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

MTV模型的工作流程

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。

所以我们学习Django重点是四个部分:url路由器+MVT 

二、Django的下载与运行 1.Django的下载

# 下载pip install django==3.2 -i https://pypi.douban.com/simple # 豆瓣源# 查看django版本django-admin --version

2.Django的创建项目及启动运行 

# 1.创建名为myproject的django项目;会在命令执行对应目录下创建myproject文件夹django-admin startproject myproject# 2.启动运行django;在pycharm的terminal中输入如下命令;ip:port为空时,默认为本机的8000端口python manage.py runserver ip:port

注意:酷狗音乐会占用8000端口,注意django与酷狗音乐的端口冲突

访问地址:http://127.0.0.1:8090/ 如下,则表示正确安装了 

注意:runserver默认启动的wsgi.py文件作为web服务器接口 

3.创建应用 

# 创建应用python manage.py startapp 子应用名称

4.基于IDE 创建Django项目

(1).创建项目及应用

在pycharm里:File-->New Project-->Django下

 (2).启动项目

Edit Configurations编辑IP、端口后,启动即可

进入配置页面

5.Django完整的目录结构

│─ manage.py # 终端脚本命令,提供了一系列用于生成文件或者目录的命令,也叫脚手架└─ HelloWorld/ # 主应用开发目录,保存了项目中的所有开发人员编写的代码, 目录是生成项目时指定的 │- asgi.py # django3.0以后新增的,用于让django运行在异步编程模式的一个web应用对象 │- settings.py # 默认开发配置文件 │- urls.py # 路由列表目录,用于绑定视图和url的映射关系 │- wsgi.py # wsgi就是项目运行在wsgi服务器时的入口文件 └- __init__.py└─ app01 # 子应用 │- models # 该应用的模型类模块 │- views # 该应用的视图模块 │- tests # 该应用的单元测试模块 │- apps # 该应用的一些配置,自动生成 │- admin.py # 该应用的后台管理系统配置

6.案例:返回一个当前时间页面 7.案例:登录 三、路由控制器

Route路由, 是一种映射关系!路由是把客户端请求的url路径和用户请求的应用程序[这里意指django里面的视图进行绑定映射的一种关系。

注意:请求路径和视图函数不是一对一映射关系!

在django运行中,当客户端发送了一个http请求到服务端,服务端的web服务器则会从http协议中提取url地址, 从程序内部找到项目中添加到urlpatterns里面的所有路由信息的url进行遍历匹配。如果相等或者匹配成功,则调用当前url对象的视图方法。

在给urlpatterns路由列表添加路由的过程中,django一共提供了2个函数给开发者注册路由.

from django.urls import path # 字符串路由from django.urls import re_path # 正则路由,会把url地址看成一个正则模式与客户端的请求url地址进行正则匹配# path和re_path 使用参数一致.仅仅在url参数和接收参数时写法不一样

1.基本使用

path('login/', login), # path路由默认会添加^$,该规则等同于path('^login/$', login),

2.路由分发 3.路由转发器 4.反向解析 四、视图

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。