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中利用Pandas库处理大数据的简单介绍
Apr 07 Python
Python的动态重新封装的教程
Apr 11 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
Python Flask框架扩展操作示例
May 03 Python
kali中python版本的切换方法
Jul 11 Python
python的re模块使用方法详解
Jul 26 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
django美化后台django-suit的安装配置操作
Jul 12 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 命令行参数详解及应用
2011/05/18 PHP
php header功能的使用
2013/10/28 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
joomla组件开发入门教程
2016/05/04 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
php探针不显示内存解决方法
2019/09/17 PHP
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
Python映射拆分操作符用法实例
2015/05/19 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
谈谈python中GUI的选择
2018/03/01 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
人力资源专员岗位职责
2014/01/30 职场文书
管理失职检讨书
2014/02/12 职场文书
运动会表扬稿范文
2015/05/05 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
python元组打包和解包过程详解
2021/08/02 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers