我在视图中有一个功能,如
def calculate(request , b)
我希望即使b没有传递给它,这个功能也应该有效
答案 0 :(得分:59)
您可能还需要更新网址调度,以便使用或不使用可选参数来处理请求。
url(r'^calculate/?(?P<b>\d+)?/?$', 'calculate', name='calculate'),
url(r'^calculate/$', 'calculate', name='calculate'),
如果您通过URL传递b,则会点击第一个网址定义。如果您不包含可选参数,它将触及第二个定义,但会转到相同的视图并使用您提供的默认值。
答案 1 :(得分:23)
def calculate(request, b=3):
答案 2 :(得分:7)
将默认值传递给方法会使参数成为可选参数。
在您的情况下,您可以:
def calculate(request, b=None)
pass
然后在您的模板中,您可以将条件用于不同的行为:
{% if b %}
Case A
{% else %}
Case B
{% endif %}
答案 3 :(得分:0)
def calculate(request, b=None)