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

Posted

技术标签:

【中文标题】如何使用 django.core.urlresolvers.reverse 中的 reverse()【英文标题】:How to use reverse() from django.core.urlresolvers.reverse 【发布时间】:2014-04-04 07:04:19 【问题描述】:

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

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

【问题讨论】:

“无法识别我的命令”是什么意思?发生什么了?你看到什么输出?你最初是如何启动 shell 的? 【参考方案1】:

如果您的 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。

【讨论】:

In >= 2019 年使用from django.urls import reverse

以上是关于如何使用 django.core.urlresolvers.reverse 中的 reverse()的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?