【1】MTV和MVC模型
MVC模型
MVC 本来坨在一起的代码,拆到不同的位置
模型(M:数据层),控制器(C:逻辑判断)和视图(V:用户看到的)三层
他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求
MTV模型
M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
M就是原来的M
T 代表模板 (Template):负责如何把页面展示给用户(html)。
T就是原来的V
V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template
V+路由 是原来的C
【2】Django的基本操作
【2.1】Django的安装
pip install django==3.2.20
'''3.2.20是版本号'''
# 卸载Django
'''
pip uninstall django
'''
【2.2】创建Django项目
django-admin startproject 项目名
'''
项目名必须写英文,不能写中文
一个窗口一个django项目
'''
【2.3】启动Django项目
python manage.py runserver
python manage.py runserver 127.0.0.1:8000
'''
runserver后面可跟IP和端口,如果不写就默认是127.0.0.1:8000
'''
【2.4】创建应用
python manage.py startapp 应用名
创建完应用需要立刻注册应用
'''
注册应用:
在settings.py文件中的INSTALLED_APPS中添加应用名称
'''
【3】Djanog项目个文件的介绍
【4】 Django的请求生命周期流程图
【5】路由层
1、路由概念
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行
请求路径和要执行的视图函数的对应关系
2、如何使用
2、re_path:相当于diango1版本的url ——– 正则匹配
3、path详细使用
path(‘index/’, views.index) ———— 相当于 _path(route, view, kwargs=None, name=None)
1、第一个参数:
准确路径,字符串
转换器:接收参数 ———<int:pk>,<str:name>
127.0.0.1:8080/login/justin—->path(‘login/<str:name>’, admin.site.urls)
在视图函数中必须接收name参数 def login(request,name)
1. 路由一旦匹配成功就会执行,你写的这个视图函数(request),并且会把request对象传入
2. 如果有分组的参数[有名,无名],或者转化器的参数,都会传递到视图函数中作为参数
3. 总结:放要放视图函数地址—》但是视图函数的参数:第一个是固定必须是request,后续的取决于写没写转换器,写没写有名无名分组
3、第三个参数:kwargs 是给视图函数传递默认参数
path五种转换器
转换器名称 | 描述 |
---|---|
string | 默认类型,接受不带斜杠的任何文本 |
int | 接受正整数 |
float | 接受正浮点值 |
path | 接收string 但也接受斜线 |
uuid | 接受UUID(通用唯一识别码)字符串 xxxx–xxxx–xxxxx–xxxxx |
4、re_path的详细使用
跟path除了第一个参数不一样,其他完全一样
第一个参数是:正则表达式
后期用的很少,危险性大—》原来之所以支持正则的目的是为了分组出参数
path通过转换器能完成这个操作–》于是–》这个几乎不用
5、反向解析
反向解释用在视图函数中,用在模板中。
path(‘login/’, login,name=’login‘)
res=reverse(‘login‘) #当时 定义路径传入的name参数对应的字符串
path(‘login/<str:name>’, login,name=’login‘)
res=reverse(‘login‘,kwargs={name:lqz}) #当时 定义路径传入的name参数对应的字符串
生成这种路径:’login/lqz’
6、路由分发
在全局配置文件中就已经配置了 ———– ROOT_URLCONF = ‘djangoself1.urls’
原文地址:https://blog.csdn.net/m0_69962105/article/details/134676233
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5173.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!