Django-路由(re_path,路由分发)

 1 #  re_path
 2 #re_path是用正则匹配
 3 from django.contrib import admin
 4 from django.urls import path,re_path
 5 from app01 import views
 6 
 7 urlpatterns = [
 8     path('admin/', admin.site.urls),
 9     path('login/',views.login.as_view()),
10     #表示之匹配 index/test 开头,并且index/test结尾的路径 
11     re_path(r'^index/test$',views.test),
12     #匹配index/(四位数字年份)如果在正则里面加了括号,那么会在调用函数的时候自动将括号里匹配成功的内容传给试图函数,要在创建函数的时候接收,否则会报错
13     re_path(r'^inde/([0-9]{4})/$',views.year),
14 ]

注意:

  • 如果要冲URL中捕获一个值,就需要在表达式用添加括号

  • URL前面不需要添加反斜杠,因为每个URL都有。
  • 每个正则表达式前面的'r'是可选的但是建议机上。它高数PYthon这个字符串是“原始的”——字符串中任何字符都不应该转意
 1 #re_path  分组起名
 2 
 3 
 4 
 5 from django.contrib import admin
 6 from django.urls import path,re_path
 7 from app01 import views
 8 
 9 urlpatterns = [
10     path('admin/', admin.site.urls),
11     path('login/',views.login.as_view()),
12 #如果要给获取的参数起名,URL写法'index/?P<名字>表达式' 但是在视图函数接受的时候,必须使用起的名字接受
13     re_path(r'^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',views.test),
14 ]
 1  #路由分发
 2  
 3  
 4  
 5 '''
 6 比如:我们创建了,这几个应用 app01、app02
 7         然后我们在每个应用里创建了 urls.py
 8 
 9 '''
10 
11 
12 #-------------------这里是app01下urls.py的内容---------------------------
13  from django.contrib import admin
14  from django.urls import path,re_path
15  from app01 import views
16  
17  urlpatterns = [
18      path('admin/', admin.site.urls),
19      path('login/',views.login.as_view()),
20  #如果要给获取的参数起名,URL写法'index/?P<名字>表达式' 但是在视图函数接受的时候,必须使用起的名字接受
21      re_path(r'^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',views.test),
22  ]
23 
24 #--------------------------------end---------------------------
25 
26 
27 
28 #-------------------这里是全局下urls.py的内容---------------------------
29 
30 from django.contrib import admin
31 #这里需要导入include
32 from django.urls import path,re_path,include
33 #这里需要导入app01的urls
34 from app01 import urls
35 
36 urlpatterns = [
37     path('admin/', admin.site.urls),
38 #这种写法,需要在原来的路由前加上app01/
39     re_path(r'^app01/',include('app01.urls')),
40 #这种写法,不需要加app01,url写法跟以前一样
41     re_path(r'^',include('app01.urls'))
42 
43 
44 ]

 

转载于:https://www.cnblogs.com/wtil/p/9242108.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值