Django的路由系统01-路由分发
2024-09-06 16:56:49
1. Including other URLconfs
原urls.py文件,多个app的路由系统写在一起,不方便管理
范例:
from django.conf.urls import url
from django.contrib import admin
from app01 import views
from app02 import views as app02_views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^publisher_list/$', views.PubList.as_view()),
url(r'^edit_publisher/$', views.EditPub.as_view()),
url(r'^book_list/$', views.BookList.as_view()),
url(r'^templates/$', views.Templates.as_view()),
url(r'^book/$', app02_views.book),
]
2. 使用include
使用:
2.1 注释app01的相关配置
from django.conf.urls import url
from django.contrib import admin from app02 import views as app02_views urlpatterns = [
url(r'^admin/', admin.site.urls),
# url(r'^publisher_list/$', views.PubList.as_view()),
# url(r'^edit_publisher/$', views.EditPub.as_view()),
# url(r'^book_list/$', views.BookList.as_view()),
# url(r'^templates/$', views.Templates.as_view()),
url(r'^book/$', app02_views.book),
]
2.2 在app01目录中创建urls.py文件
from django.conf.urls import url
from app01 import views urlpatterns = [
url(r'^publisher_list/$', views.PubList.as_view()),
url(r'^edit_publisher/$', views.EditPub.as_view()),
url(r'^book_list/$', views.BookList.as_view()),
url(r'^templates/$', views.Templates.as_view()),
]
但是仅此而已还不够,启动Django项目,发现不能访问app01中的链接
2.3 导入urls模块的include方法
方法一:
from django.conf.urls import url, include
from django.contrib import admin
from app02 import views as app02_views urlpatterns = [
url(r'^admin/', admin.site.urls),
# 这种方式不明确,不能根据程序区分
url(r'^', include('app01.urls')),
url(r'^book/$', app02_views.book),
]
方法二:
from django.conf.urls import url, include
from django.contrib import admin
from app02 import views as app02_views urlpatterns = [
url(r'^admin/', admin.site.urls),
# 这种方式可以根据不同的程序访问不同的url
url(r'^app01/', include('app01.urls')),
url(r'^book/$', app02_views.book),
]
最新文章
- redis 源码阅读 数值转字符 longlong2str
- UIScrollView的缩放原理
- 通过配置文件启动odoo-10.0
- 影响div背景色显示的问题
- Qt 环境下MAPX组件的编程
- Thrift 跨服务开发框架
- 演示一个OLS进行数据访问控制的示例
- Android 高仿豌豆荚 一键安装app 功能 实现
- Linux基本服务命令
- 基于C#程序设计语言的三种组合算法
- ansible和python的zabbix_api批量添加rsync服务的监控
- 详解Linux下iptables中的DNAT与SNAT设置(转)
- B/S开发介绍
- Golang AES加密
- grep 的学习 正则
- qtftp 客户端
- 数的划分(NOIP2001&水题测试2017082401)
- ScrollView子控件高度设置无效
- pytest mark中的skip,skipif, xfail
- Work-Stealing in .NET 4.0