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

yipeiwu_com5年前Python基础

现在是好时机来指出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 移动图片到另外一个文件夹的实例

如下所示: # -*- coding:utf8 -*- import os import shutil import numpy as np import pandas as p...

Python数据结构与算法之图的基本实现及迭代器实例详解

Python数据结构与算法之图的基本实现及迭代器实例详解

本文实例讲述了Python数据结构与算法之图的基本实现及迭代器。分享给大家供大家参考,具体如下: 这篇文章参考自《复杂性思考》一书的第二章,并给出这一章节里我的习题解答。 (这书不到12...

说一说Python logging

说一说Python logging

最近有个需求是把以前字符串输出的log 改为json 格式,看了别人的例子,还是有些比较茫然,索性就把logging 整个翻了一边,做点小总结. 初看log 在程序中, log 的用处写...

Python3.x版本中新的字符串格式化方法

我们知道Python3.x引入了新的字符串格式化语法。不同于Python2.x的 复制代码 代码如下: "%s %s "%(a,b)  Python3.x是 复制代码 代码...

python+PyQT实现系统桌面时钟

用Python + PyQT写的一个系统桌面时钟,刚学习Python,写的比较简陋,但是基本的功能还可以。 功能: ①窗体在应用程序最上层,不用但是打开其他应用后看不到时间 ②左键双击全...