(5)路由层下分组的概念-有名分组和无名分组

分组是以位置参数往函数内传入的

分组的用途就是通过分组的值匹配数据库查找数据

有名分组:给分组命名,以关键字参数传过去

命名关键子和格式:?P<这里写名字>   #有名分组

urls.py

from django.conf.urls import url
from django.contrib import admin


from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/(?P<num>d+)/(?P<num1>d+)',views.index),

]

views.py

from django.shortcuts import render,HttpResponse,redirect

def index(request,num,num1):
print(num,'+' ,num1)
return render(request,'app01/time.html')

无名分组:分组时候没有名字,是以位置参数传入的

1、单分组

urls.py

from django.conf.urls import url
from django.contrib import admin


from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 无名分组,index/可以传任意的数字,括号的用意就是将后面传入的数字进行分组,如果不加括号则不会分组
'''在django内部,当用户访问地址的时候,匹配到这个路径,则自动调用后面的视图函数,并且将视图的形参传过来,也会将地址分组分出参数传入视图,如果视图形参没有设定接收则报错'''
url(r'^index/(d+)',views.index),
]

views.py

from django.shortcuts import render,HttpResponse,redirect

def index(request,num): #这里一定要两个形参接收无名分组传过来的参数
print(num)
return render(request,'app01/time.html')

2、多分组

urls.py

from django.conf.urls import url
from django.contrib import admin


from app01 import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 无名分组-多分组
url(r'^index/(d+)/(d+)',views.index),

]

views.py

from django.shortcuts import render,HttpResponse,redirect

def index(request,num,num1):
print(num,'+' ,num1)
return render(request,'app01/time.html')
原文地址:https://www.cnblogs.com/shizhengquan/p/10482732.html