首页 > web开发 > 正文

django reverse()

时间:04-08 来源:老王python, 标签:django

你用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基础教程,爬虫,seo工具,excel相关开发教程。

Copyright © 2020 www.cnpythoner.com All rights reserved. 赣ICP备19013357号-1基于python+django开发