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打开文件并获取文件相关属性的方法
Apr 23 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
浅析Python中的join()方法的使用
May 19 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
Django中的FBV和CBV用法详解
Sep 15 Python
python3实现用turtle模块画一棵随机樱花树
Nov 21 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
vscode写python时的代码错误提醒和自动格式化的方法
May 07 Python
Python读取Excel数据并生成图表过程解析
Jun 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常用代码大全(新手入门必备)
2010/06/29 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
JS通过位运算实现权限加解密
2018/08/14 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
Python 基础知识之字符串处理
2017/01/06 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
Unix如何添加新的用户
2014/08/20 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
新闻专业个人求职信
2013/12/19 职场文书
工作会议主持词
2014/03/17 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
产品售后服务承诺书
2014/05/21 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书