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动态性强类型用法实例
May 09 Python
Python守护进程和脚本单例运行详解
Jan 06 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
简单的Python调度器Schedule详解
Aug 30 Python
python多线程并发及测试框架案例
Oct 15 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
django中间键重定向实例方法
Nov 10 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
桌面中心(一)创建数据库
2006/10/09 PHP
php str_replace的替换漏洞
2008/03/15 PHP
PHP读取MySQL数据代码
2008/06/05 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python之PyUnit单元测试实例
2014/10/11 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
Django使用rest_framework写出API
2020/05/21 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
精彩自我鉴定
2014/01/16 职场文书
服务之星获奖感言
2014/01/21 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
学习保证书怎么写
2015/02/26 职场文书
运动会新闻稿
2015/07/17 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB