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将html转成PDF的实现代码(包含中文)
Mar 04 Python
python实现统计代码行数的方法
May 22 Python
Python做简单的字符串匹配详解
Mar 21 Python
Python OpenCV获取视频的方法
Feb 28 Python
python正则表达式之对号入座篇
Jul 24 Python
python绘制中国大陆人口热力图
Nov 07 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
Python判断三段线能否构成三角形的代码
Apr 12 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
python将数据插入数据库的代码分享
Aug 16 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
python RSA加密的示例
Dec 09 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 编写的 25个游戏脚本
2009/05/11 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
JavaScript 图像动画的小demo
2012/05/23 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
python操作日期和时间的方法
2014/03/11 Python
python实现目录树生成示例
2014/03/28 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
python求最大值最小值方法总结
2019/06/25 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
办公室副主任职责范本
2014/03/08 职场文书
医院我们的节日活动实施方案
2014/08/22 职场文书
全陪导游词
2015/02/04 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
合作协议书格式范本
2016/03/21 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
python基础之匿名函数详解
2021/04/21 Python
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
python 安全地删除列表元素的方法
2022/03/16 Python