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 Shell获取hostname和fqdn释疑
Jan 25 Python
python实现折半查找和归并排序算法
Apr 14 Python
Django 实现下载文件功能的示例
Mar 06 Python
python最长回文串算法
Jun 04 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
python 调用有道api接口的方法
Jan 03 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
python区块及区块链的开发详解
Jul 03 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python内置数据类型中的集合详解
Mar 18 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根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
jquery判断浏览器类型的代码
2012/11/05 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
express默认日志组件morgan的方法
2018/04/05 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
会计系毕业个人自荐信格式
2013/09/23 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
全国文明单位申报材料
2014/05/31 职场文书
运动会演讲稿200字
2014/08/25 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
SQL中的三种去重方法小结
2021/11/01 SQL Server
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers