Django的路由系统01-路由分发
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),
]

Django的路由系统01-路由分发的更多相关文章
- ASP.NET的路由系统:路由映射
总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapP ...
- ASP.NET Web API路由系统:路由系统的几个核心类型
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除 ...
- 创建自定义路由处理程序(Creating a Custom Route Handler) | 定制路由系统| 高级路由特性 |精通ASP-NET-MVC-5-弗瑞曼
自定义实现 IRouteHandler
- django框架--路由系统
目录 一.路由系统理解 二.路由系统功能划分 三.路由表创建 创建工具 二级路由 路由别名 动态路由及重定向 四.自定义错误页面 五.图示路由系统在框架中的定位 六.路由系统的进阶想法 一.路由系统理 ...
- django 路由系统,数据库操作
一.修改配置 数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': ...
- ASP.NET MVC , ASP.NET Web API 的路由系统与 ASP.NET 的路由系统是怎么衔接的?
ASP.NET MVC 的路由实际上是建立在 ASP.NET 的路由系统之上的. MVC 路由注册通常是这样的: RouteTable 是一个全局路由表, 它的 Routes 静态属性是一个 Ro ...
- django中路由系统和视图的对应关系(值的传递)-->主要内容(位置参数、关键字参数、额外参数、include分组[urls的分发]、命名分组、反向解析、APPEND_SLASH)
路由系统也就是 urls.py文件,视图就是 views.py文件 路由系统里面要注意的事项 urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续. 若要从UR ...
- django路由系统及分发路由的本质
路由系统 当我们启动一个django项目后,想要通过浏览器访问到django项目中的资源 就需要在django中的urls项目中进行路由配置 urlpatterns = [ url(r'^admin/ ...
- django上课笔记1-目录介绍-路由系统-ORM操作
一.Django目录介绍 django-admin startproject mysite # 创建名为mysite的项目 cd mysite # 切换到该目录下 python manage.py s ...
随机推荐
- 前端-html-长期维护
############### 前端学什么? ################ # 前端三大部分 # HTML,页面内容,学习标签 # CSS,页面样式,学习选择器和属性 # JS,页面 ...
- 手机遥控Office,变身演讲达人
编者按:在商业演讲中,需要在PPT/Word/Excel文件中切换以达到最佳演讲效果-Office Remote可帮助Windows Phone变身Office的智能遥控.以蓝牙控制电脑,触屏操作多种 ...
- motionbuilder安装未完成,某些产品无法安装的解决方法
motionbuilder提示安装未完成,某些产品无法安装该怎样解决呢?,一些朋友在win7或者win10系统下安装motionbuilder失败提示motionbuilder安装未完成,某些产品无法 ...
- 关于文件下载Header设置
常见的媒体格式类型如下: text/html : HTML格式text/plain :纯文本格式 text/xml : XML格式image/gif :gif图片格式 image/jpeg :jpg图 ...
- 18.09.22模拟赛T2 历史
网上基本上找不到这道题,何况LJJ还稍微改了一下...... 原题:传送门 题目描述 ljj 被S 国数不清的漂亮小姐姐所吸引,为了搞清楚为什么S 国有如此多的漂亮小姐姐,他决定研究S 国的历史. 根 ...
- spring boot 创建定时任务
@Scheduled默认创建的线程是单线程,任务的执行会受到上一个任务的影响,创建定时任务也比较简单 123456789101112 @Component@Configuration //1.主要用于 ...
- /lib64/libc.so.6: version `GLIBC_2.18' not found报错解决
今日安装一区块链服务时报错:/lib64/libc.so.6: version `GLIBC_2.18' not found,检查后现有的glibc版本是2.17,然后参考https://www.ji ...
- const define static extern
const const意味着"只读",欲阻止一个变量被改变,可以使用const关键字 const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p) define #define ...
- elasticsearch 产生未分配分片的原因(es官网)
Reasons for unassigned shard: These are the possible reasons for a shard to be in a unassigned state ...
- GeoMesa-单机搭建
系统安装 CentOS部署 新建虚拟电脑 类型:Linux 版本:Red Hat(64-bit) 创建虚拟硬盘 [x] 动态分配(磁盘占用较小) [ ] 固定大小(使用起来较快) 安装设置(设置roo ...