urls
现在介绍一个功能
比如之后实际生产中存在许多路由,有些路由会有一些规则,看起来就会比较乱
比如下面这种情况
www.zxlinux.com/admin/****www.zxlinux.com/user/****www.zxlinux.com/api/****
我们在写的时候,可以将相似的urls不写到主urls中,而是写道分urls中
举例
我们有两个app,主app是app1,从app是demon2
我们在app1中写的urls
from django.contrib import admin
from django.conf.urls import url,include
from app1 import views
urlpatterns = [
url('api/',include('demon2.urls'),
]
这样就可以直接读取demon2的urls和主urls拼接成新的urls
比如 api/list.html
demon2中的urls写具体的规则
from django.conf.urls import url
from demon2 import views
urlpatterns = [
url('list.html', views.list),
url('add.html', views.add),
url('update.html', views.update),
url('delete.html', views.delete),
]
demon2 中写的views函数
from django.shortcuts import render,redirect,HttpResponse
from app1 import models
# Create your views here.
def list(request):
return HttpResponse('list')
def update(request):
return HttpResponse('update')
def delete(request):
return HttpResponse('delete')
def add(request):
return HttpResponse('add')
我们在浏览器中访问即可看到效果
补充
url中获取key
在从的urls中修改add的路由
url(r'^(?P<num>[0-9]+)/add', views.add),
从(demon2)的views中修改add函数
def add(request,num):
return HttpResponse(num)
注意传进来的num变量的数据类型是str