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 Property属性的2种用法
Jun 21 Python
轻松实现python搭建微信公众平台
Feb 16 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Python递归函数定义与用法示例
Jun 02 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
python遍历一个目录,输出所有的文件名的实例
Apr 23 Python
Python3单行定义多个变量或赋值方法
Jul 12 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
Softmax函数原理及Python实现过程解析
May 22 Python
如何创建一个Flask项目并进行简单配置
Nov 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实现清除MySQL死连接的方法
2016/07/23 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
JS实现小星星特效
2019/12/24 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
Python正则表达式匹配ip地址实例
2014/10/09 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
Python模块 _winreg操作注册表
2020/02/05 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
开会迟到检讨书
2014/01/08 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
商业用房租赁协议书
2014/10/13 职场文书
话题作文之自信作文
2019/11/15 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
Python中文纠错的简单实现
2021/07/07 Python