如何在命令行中使用reverse()
中的django.core.urlresolvers.reverse
?我想调试我的Django应用程序出了什么问题。我不确定它是在views
,urls
还是html
模板页面上发生的。
我在项目目录中打开了命令行,但它无法识别我的命令(我从Django-Project页面借用)。
答案 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。