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中的getattr函数 hasattr函数
Jun 14 Python
python利用Guetzli批量压缩图片
Mar 23 Python
Django的分页器实例(paginator)
Dec 01 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
Python学习笔记之错误和异常及访问错误消息详解
Aug 08 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
python开发入门——set的使用
Sep 03 Python
DRF使用simple JWT身份验证的实现
Jan 14 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的开发框架的现状和展望
2007/03/16 PHP
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
JS实现图片切换效果
2018/11/17 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
浅析Python基础-流程控制
2016/03/18 Python
python实现决策树分类
2018/08/30 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
中科创达面试题
2016/12/28 面试题
活动邀请函范文
2014/01/19 职场文书
营销总经理岗位职责
2014/02/02 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
2014年冬季防火方案
2014/05/21 职场文书
2014年信访工作总结
2014/11/17 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
一个都不能少观后感
2015/06/04 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL