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之变量和参数
Oct 10 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python语言描述连续子数组的最大和
Jan 04 Python
python 常用的基础函数
Jul 10 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Python Web框架之Django框架文件上传功能详解
Aug 16 Python
用python实现英文字母和相应序数转换的方法
Sep 18 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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 静态化实现代码
2009/03/20 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python字符串格式化输出方法分析
2016/04/13 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
详解Python字典小结
2018/10/20 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
党建目标管理责任书
2014/07/25 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
python实现过滤敏感词
2021/05/08 Python
4种方法python批量修改替换列表中元素
2022/04/07 Python