Python Django 命名空间模式的实现


Posted in Python onAugust 09, 2019

新建一个项目 app02

Python Django 命名空间模式的实现

在 app02/ 下创建 urls.py:

from django.conf.urls import url
from app02 import views
urlpatterns = [
  url(r'^blog/', views.test, name="blog"),
]

app01/urls.py:

from django.conf.urls import url
from app01 import views
urlpatterns = [
  url(r'^blog/', views.blog, name="blog"),
]

这两个都有 blog/ 路径,且都名为 blog,访问的话就不知道该访问哪一个

这时候需要用到命名空间

在 templates 目录下创建 /books/blog.html 和 /news/blog.html

Python Django 命名空间模式的实现

app01/views.py:

from django.shortcuts import render
def test(request):
  return render(request, "test.html") 
 def blog(request):
  return render(request, "news/blog.html") # news 前不要加 /

app02/views.py:

from django.shortcuts import render 
def test(request):
  return render(request, "books/blog.html") # books 前不要加 /

mysite2/urls.py:

from django.conf.urls import url, include
from app01 import views
from app01 import urls as app01_urls
from app02 import urls as app02_urls
urlpatterns = [
  url(r'^test/', views.test),
  url(r'^blog/', include(app01_urls, namespace="news")),
  url(r'^blog/', include(app02_urls, namespace="books")),
]

test.html:

<a href="{% url 'books:blog' %}" rel="external nofollow" >书籍</a>
<a href="{% url 'news:blog' %}" rel="external nofollow" >新闻</a>

这里用的是 namespace_name 格式来获取 url 路径

访问:http://127.0.0.1:8000/test/

Python Django 命名空间模式的实现

点击“新闻”

Python Django 命名空间模式的实现

跳到了:http://127.0.0.1:8000/blog/blog/,返回的是 /news/blog.html 页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学Python之入门(五)缩进和选择
May 27 Python
python分析网页上所有超链接的方法
May 08 Python
python实现log日志的示例代码
Apr 28 Python
python-opencv颜色提取分割方法
Dec 08 Python
python监测当前联网状态并连接的实例
Dec 18 Python
举例讲解Python常用模块
Mar 08 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Django实现前台上传并显示图片功能
May 29 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
Mac安装python3的方法步骤
Aug 09 #Python
对python 树状嵌套结构的实现思路详解
Aug 09 #Python
Python  Django 母版和继承解析
Aug 09 #Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 #Python
python实现BP神经网络回归预测模型
Aug 09 #Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 #Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 #Python
You might like
php microtime获取浮点的时间戳
2010/02/21 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
用ADODB.Stream转换
2007/01/22 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
html判断当前页面是否在iframe中的实例
2016/11/30 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
详解Python多线程
2016/11/14 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
pandas-resample按时间聚合实例
2019/12/27 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
中秋节国旗下演讲稿
2014/09/05 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python