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计算三角函数之atan()方法的使用
May 15 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
AI人工智能 Python实现人机对话
Nov 13 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
python实现屏保计时器的示例代码
Aug 08 Python
python tornado微信开发入门代码
Aug 24 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python装饰器代替set get方法实例
Dec 19 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
详解Python中list[::-1]的几种用法
Nov 16 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&amp;MYSQL分页原理及实现
2007/01/02 PHP
php 设计模式之 工厂模式
2008/12/19 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
Python supervisor强大的进程管理工具的使用
2019/04/24 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Python循环实现n的全排列功能
2019/09/16 Python
Python3列表List入门知识附实例
2020/02/09 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
美容师的职业规划书
2013/12/27 职场文书
物业工作计划书
2014/01/10 职场文书
代领报检证委托书范本
2014/10/11 职场文书
国庆阅兵观后感
2015/06/15 职场文书
《叶问2》观后感
2015/06/15 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
python中super()函数的理解与基本使用
2021/08/30 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android