1

我有一个带有两个附加参数的视图方法:

def foo(request, email, token):
    ...

我需要用来reverse生成一个 URL:

    ...
    url = urlresolvers.reverse(
        'my_app.views.foo',
        kwargs={ 'token': <token>, 'email': <email> })
  1. 我的使用是否reverse合理/可接受,并且
  2. 的 URL 模式是foo什么样的?
4

2 回答 2

3

1 - 是的,就目前而言,但如果没有 urlpattern,它当然会失败。根据您的情况,您可以使用 args 或 kwargs。在这里您可以使用 args,因为它们都是您的视图函数中必需的 args。

2 - 这是一个帮助您前进的 urlpattern,但正则表达式只是一个示例,因为我不知道您的正则表达式需要是什么。

url(r'^/(?P<email>[-\w]+)/(?P<token>\d{1,2})/$', 'views.foo', name='foo'),

命名网址是养成习惯的好模式。您也可以将名称传递给 reverse 函数:

url = urlresolvers.reverse(
    'foo',
    args=['<email>', '<token>']
于 2013-09-04T18:25:49.127 回答
0
  1. 是的
  2. 由您将其写入您的 URLconf 中。你可能想看看Django 文档

不过,根据您的问题,如果您阅读本教程可能会更好。第三部分解释了如何为您的站点写下 URL 方案。

于 2013-09-04T15:21:34.623 回答