В Django, как временно хранить последовательные пользовательские вводы в бэкенде в течение 60 секунд?

У меня проблема с временным хранением пользовательских данных в Django backend (например, 60 секунд для игры. Как только игра закончится, она должна удалить все записи ввода пользователя).

Чтобы было понятно:

Я хочу разработать игру для веб-сайта, используя python и Django в качестве языков бэкенда, где она принимает ввод пользователя (одно слово как один ввод) и подсчитывает, сколько слов пользователь может дать за 60 секунд. Веб-сайт должен оставаться неизменным после каждого ввода, но игра записывает каждый ввод пользователя в бэкенде и подсчитывает его, пока игра работает. Я думаю, что мне следует использовать сессию в Django, но я все еще не уверен, как я должен подойти к этой проблеме.

Как показано на рисунке, поле ввода может принимать только 1 слово для каждой отправки, и продолжать принимать пользовательские вводы до окончания таймера. Итак, как мне сохранить эти временные пользовательские вводы с помощью Django?

import json
from django.core.cache import cache


def update(userid, new_word, ttl=300):
    key = f'{userid}_words'
    words = json.loads(cache.get(key, '[]'))
    words.append(new_word)
    cache.set(key, json.dumps(words), ttl)

Или просто позвольте django собрать список за вас. если вы находите вызовы json утомительными. (Мне нравится сохранять сериализованную форму простой; YMMV.)

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