Python的Django框架中的URL配置与松耦合


Posted in Python onJuly 15, 2015

现在是好时机来指出Django和URL配置背后的哲学: 松耦合 原则。 简单的说,松耦合是一个 重要的保证互换性的软件开发方法。

Django的URL配置就是一个很好的例子。 在Django的应用程序中,URL的定义和视图函数之间是松 耦合的,换句话说,决定URL返回哪个视图函数和实现这个视图函数是在两个不同的地方。 这使得 开发人员可以修改一块而不会影响另一块。

例如,考虑一下current_datetime视图。 如果我们想把它的URL 从原来的 /time/ 改变到 /currenttime/ ,我们只需要快速的修改一下URL配置即可, 不用担心这个函数的内部实现。 同样的,如果我们想要修改这个函数的内部实现也不用担心会影响 到对应的URL。

此外,如果我们想要输出这个函数到 一些 URL, 我们只需要修改URL配置而不用 去改动视图的代码。 在这个例子里,current_datetime被两个URL使用。 这是一个故弄玄虚的例子,但这个方法迟早会用得上。

urlpatterns = patterns('',
  ('^hello/$', hello),
  ('^time/$', current_datetime),
  ('^another-time-page/$', current_datetime),
)
Python 相关文章推荐
使用python解析xml成对应的html示例分享
Apr 02 Python
python 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
详解Python中的type()方法的使用
May 21 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
Numpy之random函数使用学习
Jan 29 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
python如何通过pyqt5实现进度条
Jan 20 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
QML实现钟表效果
Jun 02 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Django查找网站项目根目录和对正则表达式的支持
Jul 15 #Python
在Django中创建第一个静态视图
Jul 15 #Python
开始着手第一个Django项目
Jul 15 #Python
Python的Django框架可适配的各种数据库介绍
Jul 15 #Python
Python的Django框架安装全攻略
Jul 15 #Python
python实现爬虫下载美女图片
Jul 14 #Python
Python实现查找系统盘中需要找的字符
Jul 14 #Python
You might like
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue各种事件监听实例(小结)
2020/06/24 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
python使用chardet判断字符串编码的方法
2015/03/13 Python
Python3中的2to3转换工具使用示例
2015/06/12 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
室内设计自我鉴定
2013/10/15 职场文书
英语感恩演讲稿
2014/01/14 职场文书
六查六看自查材料
2014/02/17 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python