(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')