gpt4 book ai didi

python - 将错误传递给 django 中views.py 中的重定向模板

转载 作者:行者123 更新时间:2023-12-01 01:38:13 25 4
gpt4 key购买 nike

我正在使用 try except 来处理views.py 中的错误。在异常区域中,如果出现错误,我想将用户重定向到模板。重定向到模板时,我想将错误传递给模板并在该页面的开头显示错误。

    try:
car.delete()
except ProtectedError, e:
return redirect(reverse('car-operations') + '?car_no=' + str(car.car_no), {'errors': e})

当我尝试删除汽车时,会发生 ProtectError。但此错误不会传递到重定向页面。在重定向页面中,我使用下面的代码来显示错误。

    {% if errors %}<div class="alert alert-danger">{{ errors }}</div>{% endif %}

我发现发生了错误。但我无法将其传递给模板。如果我使用渲染请求,我可以将错误传递给模板,但这次我无法使用“'?car_no=' + str(car.car_no)”调用模板

最佳答案

这是因为你无法传递上下文来重定向,但是为了将错误传递给前端,您可以使用 django message 之类的东西

from django.contrib import messages
try:
car.delete()
except ProtectedError, e:
messages.add_message(request, messages.ERROR, e)

并在模板中显示您使用此错误的错误

{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}

作为引用,您可以查看 https://docs.djangoproject.com/en/2.1/ref/contrib/messages/

关于python - 将错误传递给 django 中views.py 中的重定向模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com