Сохранять HTMLSession в Django - PullRequest
0 голосов
/ 28 мая 2019

Каков наилучший метод сохранения HTMLSession в Django между различными представлениями? Я использую request.session для сохранения некоторых данных между представлениями, но я не могу найти решение для сохранения HTMLSession. Например, я использую запрос-html, чтобы создать HTMLSession для захвата ссылки, но у меня есть еще несколько представлений, которые будут делать разные вещи, но нуждаются в доступе к той же HTMLSession. Данные, которые мне нужно сохранить, я храню в request.session, который работает нормально, я просто не могу понять, как сохранить HTMLSession.

Я попытался сериализовать HTMLSession, однако дальнейшие исследования привели меня к пониманию, что они НЕ должны быть сериализуемыми, а только перебирают данные HTMLSession и сериализуют их.

Пользовательский класс

from requests_html import HTML, HTMLSession

class Foo():
    def __init__(self):
        session = HTMLSession()

views.py

def get_item(request):
    foo = Foo()
    request.session['item'] = 'test'
    return HttpResponse('test')

# Foo() initializes the HTMLSession
# Need to use that same session between each view

def show_item(request):
    item = request.session['item']
    return HttpResponse('test')

Код выше не имеет смысла, просто пытаюсь показать, чего я пытаюсь достичь. Это возможно? Или я что-то совершенно не понимаю?

1 Ответ

0 голосов
/ 29 мая 2019

Мое решение на случай, если у кого-то возникнет похожая проблема, хотя, возможно, и не самая лучшая:

my_dynamic_dict = {}

my_dynamic_dict['{}'.format(dynamic_key)] = test

Используйте dict для хранения экземпляра класса, который содержит HTMLSession, который я могу получить позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...