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轻松实现代码编码格式转换
Mar 26 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
对python:循环定义多个变量的实例详解
Jan 20 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
Oct 25 Python
python实现高斯投影正反算方式
Jan 17 Python
python使用PIL剪切和拼接图片
Mar 23 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
python保留格式汇总各部门excel内容的实现思路
Jun 01 Python
对Python 字典元素进行删除的方法
Jul 31 Python
Python grequests模块使用场景及代码实例
Aug 10 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
如何去掉文章里的 html 语法
2006/10/09 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php 团购折扣计算公式
2011/11/24 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
详解VueJs中的V-bind指令
2018/05/03 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
python实现给字典添加条目的方法
2014/09/25 Python
python中PIL安装简单教程
2016/04/21 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
Python 3 判断2个字典相同
2019/08/06 Python
基于Python实现扑克牌面试题
2019/12/11 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
体育教育专业毕业生自荐信
2013/11/15 职场文书
教学实习自我评价
2014/01/28 职场文书
勤奋学习演讲稿
2014/05/10 职场文书
工地安全质量标语
2014/06/07 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
《三国志》赏析
2019/08/27 职场文书