如何使用django.core.urlresolvers.reverse中的reverse()

时间:2014-03-03 09:43:53

标签: django debugging

如何在命令行中使用reverse()中的django.core.urlresolvers.reverse?我想调试我的Django应用程序出了什么问题。我不确定它是在viewsurls还是html模板页面上发生的。

我在项目目录中打开了命令行,但它无法识别我的命令(我从Django-Project页面借用)。

1 个答案:

答案 0 :(得分:2)

如果您的urls.py文件包含以下内容:

urlpatterns = patterns('',
    url(r'^$', 'views.recent', name='recent'),
    url(r'^recent/(?P<page>\d+)$', 'views.recent', name='recent')
)

在项目目录中使用python manage.py shell,您可以执行以下操作:

>>> from django.core.urlresolvers import reverse
>>> reverse('recent')
'/recent'

您可以传递特定参数,将列表作为args或字典传递为kwargs

>>> reverse('recent', args=[1])
'/recent/1'
>>> reverse('recent', kwargs={'page': 2})
'/recent/2'

检查doc on reverse是否有特定版本的Django。