我有一个HTML模板,将根据上下文变量呈现按钮。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post">
{% csrf_token %}
<button type="submit">{{ number }}</button>
</form>
</body>
</html>
在通过“if”检查大于400的数字之后,函数应该返回响应403并停止。但在我的例子中,它只是忽略了一个模板,仍然呈现了一个上下文变量。
def run_script(request, number):
if number > 400:
return HttpResponseForbidden()
context = {'number': number}
return render(request, "mainapp/number.html", context)
我找到的唯一解决方案是在“if”语句中将呈现的值设置为null
if number > 400:
number = None
return HttpResponseForbidden()
这样我就得到了正确的响应403,但我不喜欢这种方法,因为它需要改变每个变量,当提供多个变量时,看起来不像是一个正确的实现。如何正确停止执行响应403?
1条答案
按热度按时间qxgroojn1#
ChatGPT建议使用
由于这是目前的工作,我会坚持下去,但我并不意味着这是完美的解决方案,由于它的来源。