Django url 管理之 include

当 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/
就能看到相关的页面了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容