wordpress最新中文版下载,南宁百度首页优化,软件app开发定制,wordpress主题 大【1】无名分组 无名分组#xff1a;就是把正则中小括号里噩匹配到的内容以位置参数的形式传递给视图函数 url(r^test/(\d)$,view.text) get请求的第一种方式#xff1a; http://127.0.0.1:8000/test/?a1b2 get请求的第二种方式#xff1a; http://127.0.0.1:8000/test…【1】无名分组 无名分组就是把正则中小括号里噩匹配到的内容以位置参数的形式传递给视图函数 url(r^test/(\d)$,view.text) get请求的第一种方式 http://127.0.0.1:8000/test/?a1b2 get请求的第二种方式 http://127.0.0.1:8000/test/12/1 【2】有名分组 有名分组就是把正则中括号里的匹配的内容以关键字参数的形式传递给视图函数 url(r^test/(?Pyear\d)/(?Pmon\d)$,view.test) 【3】有名分组和无名分组是否可以使用多次 有名分组和无名分组不要混合使用要么全是有名分组要么全是无名分组 有名分组和无名分组可以多次使用 有名分组合无名分组的使用有了接收参数的方法 【4】反向解析 反向解析的概念 反向解析就是每一个路由都可以起一个别名通过Django提供的一些方法去解析这个别名得到一个别名对应的路由。 url(r^v1/v2/home$,view.home,namehome) 【4.1】后端反向解析 后端反向解析就是要使用reverse()方法 res reverse(home)
print(res)home就是别名的名字 【4.2】前端反向解析 前端反向解析就是使用 {% %} a href{% url home %}点击/a 【4.3】有名分组和无名分组的反向解析 【4.3.1】无名分组的反向解析
url(rv1/v2/home/(\d)$,view.home,namehome)# 后端解析res reverse(home,args(12,)) # 解析出来的地址v1/v1/home
print(res)# 前端解析a href{% url home 1 %}点击/a 【4.3.2】有名分组的反向解析
url(r^v1/v2/home/(?Pyear\d)/(?Pmon\d)/$,view.home,namehome)# 后端反向解析res reverse(home,kwargs{year:1,mon:2})res reverse(home args(1,2))args和kwargs都可以接收到参数print(res)# 前端的反向解析a href{% url home year21 mon3 %}点击/a
【5】路由分发 【5.1】全局路由文件主路由文件 Django的全局路由文件就是urls.py 【5.2】为什么要使用路由分发 随着Django项目的浮渣程度越来越大路由肯定也会越来越多总路由文件中的路由地址就会越来越多。会导致总路由文件不好关系不够清晰。路由分发可以很好的解决这个问题 【5.3】如何使用路由分发 路由分发就是在每个web应用的下面都分发一个路由子路由 注意路由分发以后总路文件就不作为地址匹配了只是为了分发而已 路由分发需要导入include方法 from django.urls import path,include 第一种方式 在总路由文件中导入每个web应用的子路由文件不同的路由文件的名字可能存在重复的可能性可以通过起别名的方式as进行区分 from django.urls import path,includefrom app01 import urls as app01_urlsfrom app02 import urls as app02_urls# 路由分发url(r^app01/,include(app01_urls)),url(r^app02/,include(app02_urls)), 第二种方式 url(r^app01/,include(app01.urls)),
url(r^app02/,include(app02.urls)),第二种方式可以不用导入w每个web应用的路由地址 注意分发的路由第一个参数最好不要加$ 【6】名称空间 用于解决在反向解析时不同应用起的别名可能一致的问题。 第一种方式就在在反向解析时就注意下别名的定义 第二种方式 url(r^app01/,include(app01.urls,namespaceapp01)),
url(r^app02/,include(app02.urls,namespaceapp02)),解析res reserve(app01:login,arg(11,22))
res reserve(app02:login,args(11,222)) 【7】伪静态的概念 【7.1】静态文件和动态文件 动态文件它是根据后端的数据变化而变化不是在html页面中固定的 从数据库查询出来都是动态页面 静态页面在html文件内中写死了不会变化。例htmlcss等 【7.2】伪装的作用 为了更好的被各大搜素引擎抓到。静态页面最容易被抓住动态页面比较难抓 两种方式 seo优化关键字被容易搜索到 sem广告 【7.3】如何进行伪装 在路由文件的后缀中.html就行 url(r^v1/v2/test.html/$,views.test) 【8】虚拟环境 针对每一个项目都会去配置一个解释器原则上多个项目可以使用同一个解释器 针对不同的项目单独配置一个新的解释器每一个解释器只装针对这个项目的模块 虚拟环境就是纯净版本的python解释器。 虚拟环境需要自己下载是哪个python解释器的版本下载的就是这个版本的解释器 无必要的话不要频繁的创建虚拟环境过多的虚拟环境会占用资源 【9】django1和django2的区别 1、路由文件 django1.x中使用的是url支持正则 django2.x中使用的是path不支持正则是精准匹配(写的是什么就按什么查找) django2.x中还使用re_path:re_path相当于django1.x中的url path支持5种转换器 Django默认支持的5个转换器 转化器名称转化器使用范围str匹配除了分隔符(/)之外的非空字符串这是默认的形式int匹配正整数包含0slug匹配字母、数字以及横杠、下划线组成的字符串uuid匹配格式化的uuid如075194d3-6885-417e-a8a8-6c931e272f00path匹配任何费控字符串包含了路径分隔符(/)不能用 1.1、自定义转换器 2、创建表关系 django1中不用指定on_delete级联删除级联更新 django2中必须指定参数on_delete:CASCADE