【问题标题】:Multiple parameters in Django URLconfDjango URLconf 中的多个参数
【发布时间】:2011-05-22 03:22:33
【问题描述】:

假设我希望我的 URL 具有字母数字字符串参数,其中每个参数由“+”分隔,并且我们有多个参数。也就是说,blah.com/1a+2b 有效,但 blah.com/1a 或 blah.com/1a_2b 无效。

到目前为止,在我的 urls.py 中,我有:

(r'^((\w+)\+)+(\w+)$', 'XXX.views.YYY')

在views.py中:

YYY(request, name, args*)

有人知道怎么做吗?

【问题讨论】:

    标签: python django parameters urlconf


    【解决方案1】:

    在您的 URLConf 中获取字符串并在您的视图中验证。

    url(r'^(?P<params_list>(\w+)\+?)+)/$');
    

    在你看来:

    def my_view(request, params):
      if not validate_params(params): # validate as you wish
        raise Http404()
    
      # continue with your view
    

    或者,如果您的视图已经需要一个列表,您可以编写一个装饰器来获取字符串,对其进行解析并将其作为列表传递给您的视图。

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 1970-01-01
      • 2013-06-01
      • 2013-08-11
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多