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 相关文章推荐
Django在Win7下的安装及创建项目hello word简明教程
Jul 14 Python
一个计算身份证号码校验位的Python小程序
Aug 15 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
Mar 31 Python
解密Python中的描述符(descriptor)
Jun 03 Python
python递归查询菜单并转换成json实例
Mar 27 Python
对Python中的@classmethod用法详解
Apr 21 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
python输出带颜色字体实例方法
Sep 01 Python
Python加密模块的hashlib,hmac模块使用解析
Jan 02 Python
CentOS7下安装python3.6.8的教程详解
Jan 03 Python
Python中如何引入第三方模块
May 27 Python
Python监听剪切板实现方法代码实例
Nov 11 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设计模式之观察者模式的应用详解
2013/05/21 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
js 两数组去除重复数值的实例
2017/12/06 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
python机器学习库常用汇总
2017/11/15 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python版百度语音识别功能
2019/07/09 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
办公室文秘自我评价
2013/09/21 职场文书
医院检讨书范文
2014/02/01 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
新年晚会主持词
2014/03/24 职场文书
《春晓》教学反思
2014/04/20 职场文书
教师节宣传方案
2014/05/23 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
主持稿开场白
2015/06/01 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
Python如何将list中的string转换为int
2022/07/15 Ruby