18 名称空间+伪静态+虚拟环境(以及django版本区别)
名称空间
# 当多个应用出现了相同的别名 我们研究反向解析会不会自动识别应用前缀 """ 正常情况下的反向解析是没有办法自动识别前缀的 """ # 名称空间 # 总路由 url(r'^app01/',include('app01.urls',namespace='app01')), url(r'^app02/',include('app02.urls',namespace='app02')) # 解析的时候 # app01 urlpatterns = [ url(r'^reg/',views.reg,name='reg') ] # app02 urlpatterns = [ url(r'^reg/',views.reg,name='reg') ] reverse('app01:reg') reverse('app02:reg') {% url 'app01:reg' %} {% url 'app02:reg' %} # 其实只要保证名字不冲突 就没有必要使用名称空间 """ 一般情况下 有多个app的时候我们在起别名的时候会加上app的前缀 这样的话就能够确保多个app之间名字不冲突的问题 """ urlpatterns = [ url(r'^reg/',views.reg,name='app01_reg') ] urlpatterns = [ url(r'^reg/',views.reg,name='app02_reg') ]
2.伪静态
""" 静态网页 数据是写死的 万年不变 伪静态 将一个动态网页伪装成静态网页 为什么要伪装呢? https://www.cnblogs.com/Dominic-Ji/p/9234099.html 伪装的目的在于增大本网站的seo查询力度 并且增加搜索引擎收藏本网上的概率 搜索引擎本质上就是一个巨大的爬虫程序 总结: 无论你怎么优化 怎么处理 始终还是干不过RMB玩家 """ urlpatterns = [ url(r'^reg.html',views.reg,name='app02_reg') ]
将路径后缀改为.html形式即可
3.虚拟环境
虚拟环境能够实现针对不同的项目配备专属的编程环境
创建虚拟环境相当于重新下载了一个新的解释器
虚拟环境的唯一表示是venv文件夹
django1.X版本中路由匹配使用的方法是url()
url(正则表达式,视图函数内存地址)
django2.X、django3.X版本中路由匹配使用的方法是path()
path(精准匹配,视图函数内存地址)
reg_path() == url()