【问题标题】:Django URLs: How to handle a parameterDjango URL:如何处理参数
【发布时间】:2013-08-31 04:12:43
【问题描述】:

在我的url.py 我有以下行:

url(r'^mypage/(?P<q_id>\d+)/$', QuizWizard.as_view(generate_form_tuples()), name='nickname'),

QuizWizard 是一个 SessionWizardView

generate_form_tuples 是一个函数(在这个模块内部定义,有一个可选参数):

def generate_form_tuples(q_id=1):
...

所以,当您使用mypage/ 时,您将(可能)拥有一个 q_id。 如何从 url 中获取此参数并将其传递给 generate_form_tuples() 函数?

附:我知道如果我将其重定向到视图中处理,参数将自动发送,名称为:q_id

【问题讨论】:

    标签: django python-2.7 django-forms django-urls


    【解决方案1】:

    一种方法是重新设计一下,如下所示:

    url(r'^mypage/(?P<q_id>\d+)/$', generate_form_tuples, name='nickname'),
    
    ...
    
    def generate_form_tuples(request, q_id=1):
        ...
        return QuizWizard.as_view(...)(request, q_id=q_id)
    

    【讨论】:

    • 我收到一个错误:'function' object has no attribute 'status_code'。我猜那是因为它希望返回类似 render_to_response() 或 HttpRedirect 的东西......有什么想法吗?
    • 成功了,谢谢。我会在一分钟内接受你的回答:)
    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 2018-01-25
    • 2017-04-10
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    相关资源
    最近更新 更多