Как выбросить ошибку django 404 в качестве сообщения об ошибке на ту же страницу

Я пытаюсь запросить экземпляр определенной модели, FoodRedistributor, и я хотел бы выдать всплывающее сообщение об ошибке на той же странице, если FoodRedistributor с заданным именем не существует. Я пытался сделать Http404, но это перенаправляет меня на страницу 404, что не то, как я хотел бы, чтобы пользователь увидел ошибку. Использование messages.info не дает мне никакого результата.

if request.method == "POST":
         username = request.POST.get("username")
         password = request.POST.get("password")
         try:
             user = FoodRedistributor.objects.get(name=username)
         except:
            raise Http404("No food redistributor matches the given query.")

1 Если вы не против использования сообщений типа error

if request.method == "POST":
     username = request.POST.get("username")
     password = request.POST.get("password")
     try:
         user = FoodRedistributor.objects.get(name=username)
     except:
        errormessage = 'No food redistributor matches the given query.'
        #raise Http404("No food redistributor matches the given query.")

#render template with errormessage

2 Передайте ошибочное сообщение в шаблон через контекстный словарь и выполните рендеринг той же страницы

3 Вернуть сообщение об ошибке в шаблоне, если сообщение об ошибке существует

template.html

<!-- template headers -->

{% if errormessage  %}
    <p style="color:red;"> {{errormessage}} </span>
{% endif %}

<!-- template rest of content-->

Если вы можете использовать JS для создания всплывающего окна на основе переданного значения сообщения об ошибке

Вернуться на верх