如今介紹一個功能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