django reverse()

你用django开发比较大的项目的时候,可能会想过让程序比较有好的维护性。

比如一些配置信息放在一个地方管理。如果要修改的时候,只要修改一个地方就可以了。

django的url一般会经常改变的。如果我们在views里做个处理,然后处理以后做跳转:

def haha(request):

..........

HttpResponseRedirect('list/member')

假设我们在url.py里是这样配置的:

(r^'list/member','haha')如果我们接到老板的需求,需要改下list/member,那如果时间比较紧的情况下,

你可能就会忘掉view里的HttpResponseRedirect('list/member')这样就会在老板面前出丑。哈哈。人是要面子的。

肯定是希望能够很帅的改动一个地方。然后就能生效django reverse()就这样出马了。。。。。

先看下他定义的规则:reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)

再给个例子把: return HttpResponseRedirect(reverse('arch-summary', args=[1945]))

我们看了例子以后,马上趁热打铁的改下我们现在的代码。让代码写的更好。

HttpResponseRedirect('list/member')改成:HttpResponseRedirect(reverse('haha'))   这样只要haha这个方法名称没有改变的话,

下次只要改下url.py里list/member就可以了。

如果你觉的有什么方法更好的话。 欢迎给老王python留下言。我们一起来交流


作者:老王@python python教程
老王python,提供pythn相关的python教程和python下载,希望大家能够喜欢

原文地址:https://www.cnblogs.com/wanpython/p/2798313.html