gpt4 book ai didi

python - 尝试在 Django 中删除 protected 外键时出现错误

转载 作者:行者123 更新时间:2023-12-01 01:57:06 24 4
gpt4 key购买 nike

我希望用户在尝试删除用作另一个表的 protected 外键的值时看到一条错误消息,并且该表不为空,这意味着该外键下有值。它返回在 Debug模式下为我返回一个错误,但我想为最终用户提供错误消息...

view.py

def cat_delete(request, pk):
instance = get_object_or_404(Categories, pk=pk)
instance.delete()
return redirect('/')

urls.py

path('category/<int:pk>/delete/', views.cat_delete, name="cat_delete"),

HTML

<a href="{%url 'cat_delete' cat.pk%}"><button type="button" class="btn btn-danger" >تأكيد المسح</button></a>

最佳答案

您可以使用Django Messages Framwork

您的cat_delete View :

from django.contrib import messages
...

def cat_delete(request, pk):
instance = get_object_or_404(Categories, pk=pk)
try:
instance.delete()
except Exception as e:
messages.error(request, "Your error message")
return redirect('/')

在您的 html 模板中,错误消息将在 messages 变量下可见。您可以使用以下代码片段来显示它:

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

关于python - 尝试在 Django 中删除 protected 外键时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50041841/

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