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处理JSON数据并生成条形图
Aug 05 Python
python实现下载文件的三种方法
Feb 09 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
python修改字典键(key)的方法
Aug 05 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
Python离线安装各种库及pip的方法
Nov 28 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 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创建者模式
2014/11/25 PHP
浅谈json_encode用法
2015/03/05 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
jQuery动态添加
2016/04/07 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
python+django快速实现文件上传
2016/10/24 Python
浅析python的优势和不足之处
2018/11/20 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
大三学生入党思想汇报
2014/01/02 职场文书
中学生演讲稿
2014/04/26 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
上课迟到检讨书
2015/05/06 职场文书
竞聘书的秘诀
2019/04/02 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python