#python #python-2.7 #flask #pagination
#python #python-2.7 #flask #разбивка на страницы
Вопрос:
Уважаемые люди:
Мне нужна подсказка относительно того, где я должен хранить данные, которые мне нужно разбить на страницы, я использую flask.
Должен ли я использовать session, чтобы запомнить, какие данные я отправил ранее, и сделать то же самое для последующих запросов?
Кроме того, как я должен хранить данные, отправленные из API, в формате json?
data_received_from_the_api = calltoApi()
#How do I make flask to remember/store above data,
#for pagination, If I am not using sessions.
Я подумываю о том, чтобы вести список с сеансом [текущий индекс], сеансом [предыдущий индекс]. Данные в формате json содержат 5 полей, а количество json-записей, отправляемых API, равно 100.
Можно ли это сделать без использования сеанса?
Ответ №1:
Я использовал подход со списком в проекте:
Когда страница загружена, если запрос является публикацией, он проверяет предыдущие и запоминает фактические:
if request.method == "POST" and list(request.form.to_dict().values())[0] in req_indicator_html_names_dict.keys() :
selector_remember = ast.literal_eval( list(request.form.to_dict().keys())[0] )
else :
selector_remember = []
добавление фактического запроса в список:
selector_remember.append( req_ind_html_name )
Затем он передает список на страницу, чтобы вы могли отслеживать предыдущие запросы.
Надеюсь, это поможет!
Комментарии:
1. Спасибо за ответ, сэр: Почему вы используете
ast.literal_eval()
… Ты исследователь Postdoc, а я исследователь Nodoc, поэтому нахожу это трудным, лол. Хотя, вы дали мне подсказку.2. это был старый проект, который пришел мне на ум, когда вы спросили. Что вы подразумеваете под «почему»?
3. «Что вы имеете в виду под «почему»?» » — Я думал, что мне тоже нужно его использовать, но я никогда не слышал об этом … вот почему я вежливо спросил об этом.
4. Это команда для повторного преобразования объекта python из строки, которая соответствует формату объектов (например kite.com/python/docs/ast.literal_eval ). Например, если у вас есть строка типа «{‘a’: 1, ‘b’: 2}», если вы проходите через ast.literal_eval(«{‘a’: 1, ‘b’: 2}»), он автоматически узнает, что это словарь, то же самое для списков ( docs.python.org/2/library/ast.html ). Мы вам очень рады! Рад помочь.
5. Вопрос, сэр — поскольку сеанс не задействован, как flask запомнит запрос? Похоже ли это на то, что сеанс / cookie по умолчанию используется для идентификации запроса и последующих запросов?