Django:如何在任何类中使用reverse()

0 投票
1 回答
706 浏览
提问于 2025-04-17 07:17

我在项目的路径 project/myapp/myclass.py 下有一个叫 myclass.py 的类文件,我想在里面使用 reverse() 这个函数,但我找不到怎么导入 urlConf!如果不获取 urls,我就会遇到 NoReverseMatch 这个错误。

其实,django-jqgrid 在他们的示例中也使用了这种方法:https://github.com/gerry/django-jqgrid

1 个回答

3

你可以随时导入 django.core.urlresolvers.reverse,然后传入需要的 argskwargs 来进行反向解析。

反向解析的定义是:

reverse(viewname[, urlconf=None, args=None, kwargs=None, current_app=None])

在你的视图中,你总是可以这样做:

from django.core.urlresolvers import reverse

def myview(request):
    return HttpResponseRedirect(reverse('arch-summary', args=[1945]))

想了解更多,可以参考 官方文档

撰写回答