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 ...
随机推荐
- Qt static关键字全局变量
创建全局变量.h文件 globalvariable.h #ifndef GLOBALVARIABLE_H #define GLOBALVARIABLE_H #include <QImage> ...
- java异常分析;剖析printStackTrace和fillInStackTrace
Java异常的栈轨迹(Stack Trace) 捕获到异常时,往往需要进行一些处理.比较简单直接的方式就是打印异常栈轨迹Stack Trace.说起栈轨迹,可能很多人和我一样,第一反应就是printS ...
- Linux Ubuntu 查看IP
一.第一种方式:ifconfig -a 1.打开命令终端:Crtl + Alt + T 2.执行命令:ifconfig -a 如果你没有安装net-tools工具,则出现如下显示: (没有找到'ifc ...
- ASP.NET MVC4网站搭建与发布【最新】
ASP.NET MVC4网站搭建与发布 一些往事 2015年,仅仅大二的我怀着一颗创业之心,加入了常熟派英特,成为阳光职场平台的创始之一,并肩负了公司技术部的大梁,当时阳光职场正在从线下服务向互联网化 ...
- Angular2与Angular1的区别
原文地址: http://www.angularjs.cn/A2Ar 整体上来说,Angular2变得更加简洁,最核心的概念只剩下一个,那就是组件Component,其它所有的一切都是围绕着Compo ...
- MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法
发现MySQL服务器因系统磁盘写满导致服务停了,清理磁盘后启动服务时无法正常启动,查看localhost.err日志发现如下报错: [ERROR] Unix socket lock file is e ...
- 大忙人的jdk8,比出生晚了好几个激情的夏天
写给大忙人的jdk8到手了,第一件事情就蒙蔽了,mac装的jdk7,切换jdk的功能要整出来才行,下好jdk8up101安装,假装几行代码搞定目标在命令行下,可以通过命令'jdk6', 'jdk7', ...
- GRE阅读
界面和托福差不多,就是反一反 GRE先读文章!因为出题顺序不一致.另外,不能跳读!!每一句都要读,即使不是观点. 考察能力: 1 三秒版本 边读边概括 解决前面的抗遗忘能力 2 句间关系 取同 取反 ...
- Fragment argument
每个Fragment实例都可以附带一个Bundle对象,该bundle包含键值对,可以像附加extra到Activity的intent中那样使用他们.一个键值对即一个argument. 创建frage ...
- Python2.7错误处理FileNotFoundError报错NameError: name 'FileNotFoundError' is not defined
错误信息如下: 原因是FileNotFoundError是python3.0中的写法,而Python2.7中应写为IOError.