Django bootstrap alert: принудительное отображение оповещения о сообщениях в django
я пишу функцию, которая позволяет пользователям общаться с фрилансерами, но теперь она постоянно выскакивает предупреждение о сообщениях, когда я открываю новый чат с другим пользователем. я бы предоставил скриншот ниже, и это потому, что она не выбрасывает никаких ошибок, но принудительно показывает предупреждения. У меня есть несколько идей, почему это происходит, и это потому, что django messages использует message.success(request, ...)
и т.д., и в моей функции у меня есть много переменных с именем message = ...
, проблема в том, что я не знаю конкретную переменную сообщения, которую я собираюсь переписать.
NOTE: когда я закомментировал логику оповещения в base.html - ошибка перестала появляться, SCREENSHOT IS BELOW я бы предоставил любую более подробную информацию как можно скорее
base.html - раздел, содержащий предупреждающие сообщения бутстрапа
<header>
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{message.tags}} alert-dismissible fade show" role="alert" style="text-align: center;">
<div class="avatar avatar-xs me-2">
{% if request.user.profile.image.url %}
<img class="avatar-img rounded-circle" src="{{request.user.profile.image.url}}" alt="avatar">
{% else %}
{% endif %}
</div>
<!-- Info -->
{{message}} <a href="#" class="text-reset btn-link mb-0 fw-bold"></a>
<button type="button" class="btn-close mt-1" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
{% endif %}
</header>
views.py - представление, содержащее функцию для общения в чате
# Messaging and Inboxing
@login_required
def Inbox(request):
messages = Message.get_message(user=request.user)
active_direct = None
directs = None
if messages:
message = messages[0]
active_direct = message['user'].username
directs = Message.objects.filter(user=request.user, reciepient=message['user'])
directs.update(is_read=True)
for message in messages:
if message['user'].username == active_direct:
message['unread'] = 0
context = {
'directs': directs,
'messages': messages,
'active_direct': active_direct,
}
template = loader.get_template('freelance/direct.html')
return HttpResponse(template.render(context, request))
def Directs(request, username):
user = request.user
messagess = Message.get_message(user=user)
active_direct = username
directs = Message.objects.filter(user=user, reciepient__username=username)
directs.update(is_read=True)
for message in messagess:
if message['user'].username == username:
message['unread'] = 0
context = {
'directs': directs,
'messages': messagess,
'active_direct': active_direct,
}
return render(request, 'freelance/direct.html', context)
def SendDirect(request):
from_user = request.user
to_user_username = request.POST.get('to_user')
body = request.POST.get('body')
if request.method == "POST":
to_user = User.objects.get(username=to_user_username)
Message.send_message(from_user, to_user, body)
return redirect('freelance:inbox')
else:
HttpResponseBadRequest()