如今介绍一个功能html
好比以后实际生产中存在许多路由,有些路由会有一些规则,看起来就会比较乱linux
好比下面这种状况django
www.zxlinux.com/admin/**** www.zxlinux.com/user/**** www.zxlinux.com/api/****api
咱们在写的时候,能够将类似的urls不写到主urls中,而是写道分urls中浏览器
咱们有两个app,主app是app1,从app是demon2app
咱们在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拼接成新的urlsurl
好比 api/list.htmlcode
demon2中的urls写具体的规则htm
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