@Ladn0

Передать рандомное значение из метода get в метод post Django?

Допустим, у меня есть view, которое наследуется от класса View
class SomeVeiwClass(View):
    def get_random_number(self):
        return random.randint(1, 100)

    def get(self, request):
        context = {
            'some_number': self.get_random_number()
        }
        return render(request, 'some_template.html', context)

    def post(self, request):
         context = {
             'some_number': self.get_random_number()
         }
         return render(request, 'some_template.html', context)

Дело в том, что таким образом я каждый раз вызываю функцию, а значит получаю разные числа, так вот вопрос - как сделать так, чтобы однажды полученное случайное число можно было использовать и в методе post, я пробовал создать экземпляр класса SomeViewClass (тот же самый класс) и присвоить ему результат вызова метода get_random_number , но тогда я получаю
TypeError: get_random_number() missing 1 required positional argument: 'self'
хоть и вызываю внутри этого же класса. Я пробовал передавать переменную через hidden input в html, но тогда её можно будет изменить, а мне нужно сделать так, чтобы пользователь никак не мог на неё влиять. Я знаю, что можно просто записывать результат вызова метода get_random_number через shelve в какой-нибудь файл при вызове метода get, а потом считывать из этого же файла при вызове метода post, но я сомневаюсь на счёт скорости такой операции :(
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
В методе get сохраняйте случайное значение в сессию, а в post извлекайте из неё.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы