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中的MySQLdb模块添加超时功能的教程
May 05 Python
python简单读取大文件的方法
Jul 01 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
python通过百度地图API获取某地址的经纬度详解
Jan 28 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
python爬取淘宝商品销量信息
Nov 16 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
Python AutoCAD 系统设置的实现方法
Apr 01 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
Python绘制散点图之可视化神器pyecharts
Jul 07 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和ACCESS写聊天室(九)
2006/10/09 PHP
php部分常见问题总结
2008/03/27 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
如何打开php的gd2库
2017/02/09 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
Python方法的延迟加载的示例代码
2017/12/18 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
在python中使用nohup命令说明
2020/04/16 Python
virtualenv介绍及简明教程
2020/06/23 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
python开发一款翻译工具
2020/10/10 Python
新闻编辑自荐书范文
2014/02/12 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
大学生社会实践感想
2015/08/11 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
pycharm代码删除恢复的方法
2021/06/26 Python
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android