当 Django 项目有多个 app 的时候,把所有视图函数都放到项目文件夹的 urls.py 来管理将会是一件比较烦杂的事情,我们可以在各自 app 的文件夹中创建 urls.py 文件来管理该 app 下的 url 和 视图函数的映射关系。
比如,我们在 myApp 文件夹里创建一个 urls.py 来管理 myApp 的视图函数,现在文件结构目录如下:
(注意:tutorial/urls.py 是系统自带的 url 管理文件)
首先我们编写两个 myApp 的视图函数:
from django.http.response import HttpResponse
def test1(request):
return HttpResponse("<h1>测试页面1</h1>")
def test2(request):
return HttpResponse("<h1>测试页面2</h1>")
编写 tutorial/urls.py :
from django.conf.urls import url, include # 引入 include 方法
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 碰到 myApp/ 的 url 将交由 myApp.urls 来处理
url(r'^myApp/', include("myApp.urls"))
]
编写 myApp/urls.py:
from django.conf.urls import url
from myApp.views import test1, test2
urlpatterns = [
url(r'^test1/', test1),
url(r'^test2/', test2),
]
打开:http://127.0.0.1:8000/myApp/test1/ 和 http://127.0.0.1:8000/myApp/test2/ ,
就能看到相关的页面了。