路由层
路由层
urlpatterns = [
path('admin/', admin.site.urls),
# 首页
path('', views.home),
# 路由匹配
path('test/', views.test),
path('testadd/', views.testadd),
]
无名分组
分组就是给某一段正则加一个小括号,用小括号括起来
url(r'^test/(d+)/', views.test)
正则匹配会将括号内正则表达式匹配到的值,当作位置参数传给后面的视图函数
有名分组
可以给正则表达式起一个别名
url(r'^testadd/(?P<year>\d+)', views.testadd)
正则匹配会将括号内正则表达式匹配到的值,当作关键字参数传给后面的视图函数
有名无名不能混用,但是每个可以用多次
反向解析
通过一些方法得到一个结果 该结果可以直接访问对应的url触发函数
# 先给路由与视图函数起一个别名
path('func/', views.func, name='lyh')
# 方向解析
后端反向解析
reverse('lyh')
前端方向解析
<a href="{{% url 'lyh' %}}">11</a>
<a href="{{% url 'lyh' %}}">22</a>
无名分组反向解析
url = (r'^index/(d+)', views.index, name = 'xxx')
# 前端
<a href="{{% url 'lyh' 123 %}}">11</a>
# 后端
reverse('lyh', args(1, ))
"""
这个数字写代码的时候数字一般情况下放的数据的id,利用他做数据编辑和删除
def edit(request, edit_id):
reverse('xxx', args=(edit_id))
{% for user_obj in user_queryset %}
<a href= "{% url 'xxx' user_obj.id %}">编辑</a>
"""
有名分组的反向解析
有名分组反向解析
url(r'^func/(?p<year>\d+)', views.func, name='xxx')
# 前端
<a href="{% url 'xxx' year=123 %}">111</a>
<a href="{% url 'xxx' 123 %}">111</a>
#后端
print(reverse('xxx', kwargs={'year': 123}))
print(reverse('xxx', args(11, )))
路由分发
"""
每一个应用都可以有自己的templets文件夹 urls.py static文件夹
分组开发
"""
# 总路由
path('app01/', include(app01_urls))
# 子路由
urlpatterns = [
# 首页
path('', views.home),
# 路由匹配
path('test/', views.test),
path('testadd/', views.testadd),
# 反向解析
path('func/', views.func, name='lyh')
]
第二种写法
# 总录音改为
path('app01/', include('app01.urls'))
名称空间
只要保证名字不冲突就没有必要使用名称空间
一般情况下有多个app的时候,我们再起别名的时候,会加上app的前缀,这样就能确保多个app名字不冲突的问题
伪静态
静态网页 数据是写死的 万年不变伪静态 将一个动态网页伪装成静态网页 目的在于增大本网站的seo查询力度 增加搜索引擎收藏本网的概率 搜索引擎就是一个巨大的爬虫
浙公网安备 33010602011771号