from django.core.cache import cache from django.shortcuts import reverse from .random import random_string __all__ = ['FlashMessageUtil'] class FlashMessageUtil: @staticmethod def get_key(code): key = 'MESSAGE_{}'.format(code) return key @classmethod def get_message_code(cls, message_data): code = random_string(12) key = cls.get_key(code) cache.set(key, message_data, 60) return code @classmethod def get_message_by_code(cls, code): key = cls.get_key(code) return cache.get(key) @classmethod def gen_message_url(cls, message_data): code = cls.get_message_code(message_data) return reverse('common:flash-message') + f'?code={code}'