我有一个视图中的函数如下:
def calculate(request , b)
即使未传递 b 参数,我希望该函数也能正常工作。
您可能还需要更新URL分发程序,以处理具有或不具有可选参数的请求。
url(r'^calculate/?(?P<b>\d+)?/?$', 'calculate', name='calculate'),
url(r'^calculate/$', 'calculate', name='calculate'),
如果您通过URL传递b,则会命中第一个URL定义。如果您不包括可选参数,则会命中第二个定义,但是进入相同的视图并使用您提供的默认值。将默认值传递给方法可以使参数变为可选。
在您的情况下,您可以这样做:
def calculate(request, b=None)
pass
然后在你的模板中,你可以使用条件语句来实现不同的行为:
{% if b %}
Case A
{% else %}
Case B
{% endif %}
def calculate(request, b=None)
reverse('calculate', ...)
中同时使用这两个定义吗? - naktinisurl(r'^calculate/$', 'calculate', {'b': 3}, name='calculate'),
- Mario Orlandi