路由层

路由层

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查询力度    增加搜索引擎收藏本网的概率    搜索引擎就是一个巨大的爬虫
posted @ 2021-08-02 19:39  剧终cur  阅读(36)  评论(0)    收藏  举报