Сохранение сообщений после показа в шаблоне
Я хотел бы хранить последние 100 сообщений, чтобы у пользователя была возможность проверить их снова.
Как я могу сохранить его, после показа? До показа? Нужно ли мне реализовать db-модель?
вы можете использовать redis, Redis может пригодиться.
Я нашел хорошее решение, без использования внешней библиотеки. Просто с помощью моего чудесного python!
Сначала я создаю функцию для хранения сообщений в базе данных:
def save_messages(message):
db.objects.add(ManyToMany.object.create(message))
return redirect('message_saved')
и затем я поместил функцию для запуска в любое время, когда отправляется сообщение, в сами сообщения contrib
MYPROJECT\venv\Lib\site-packages\django\contrib\messages\api.py
def add_message(request, level, message, extra_tags='', fail_silently=False):
"""
Attempt to add a message to the request using the 'messages' app.
"""
try:
messages = request._messages
except AttributeError:
if not hasattr(request, 'META'):
raise TypeError(
"add_message() argument must be an HttpRequest object, not "
"'%s'." % request.__class__.__name__
)
if not fail_silently:
raise MessageFailure(
'You cannot add messages without installing '
'django.contrib.messages.middleware.MessageMiddleware'
)
else:
from WALLAWALLA import save_messages
save_messages(message)
return messages.add(level, message, extra_tags)
и это действительно работает отлично