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 相关文章推荐
Web服务器框架 Tornado简介
Jul 16 Python
Python多线程实例教程
Sep 06 Python
python列出目录下指定文件与子目录的方法
Jul 03 Python
用pickle存储Python的原生对象方法
Apr 28 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
ipython和python区别详解
Jun 26 Python
pytorch自定义二值化网络层方式
Jan 07 Python
python实现126邮箱发送邮件
May 20 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Django自带的用户验证系统实现
Dec 18 Python
Python中的套接字编程是什么?
Jun 21 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
一个改进的UBB类
2006/10/09 PHP
linux iconv方法的使用
2011/10/01 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
php返回json数据函数实例
2014/10/09 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
javascript hashtable 修正版 下载
2010/12/30 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
详解python运行三种方式
2019/05/13 Python
python命令行参数用法实例分析
2019/06/25 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
输入N,打印N*N矩阵
2012/02/20 面试题
abstract是什么意思
2012/02/12 面试题
饮料业务员岗位职责
2013/12/15 职场文书
党课培训主持词
2014/04/01 职场文书
职业规划实施方案
2014/06/10 职场文书
物理教育专业求职信
2014/06/25 职场文书
营销总监岗位职责
2014/09/16 职场文书
司考复习计划
2015/01/19 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
订货会主持词
2015/07/01 职场文书
分享Python异步爬取知乎热榜
2022/04/12 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS