Как отобразить содержимое переменной в другом шаблоне с Django? - PullRequest
0 голосов
/ 16 марта 2020

У меня есть кнопка, которая генерирует отчет по двум переменным: одна содержит краткую версию информации, а другая содержит подробную версию.

Представление отображает информацию короткой с помощью шаблон, давайте назовем это шаблоном один. Мне нужно поместить кнопку в шаблоне, которая позволяет видеть содержимое второй переменной в другом шаблоне, а также в новой вкладке браузера.

Поскольку информация не хранится в базе данных (поэтому я не могу 'обратитесь к нему с помощью идентификаторов) как я могу передать переменную, которая содержит подробную информацию отчета (сотни строк)?

Можно ли попытаться передать ее с помощью тега шаблона' url '...? (Это похоже на неправильный подход)

1 Ответ

1 голос
/ 16 марта 2020

Я думаю, что ваша задача будет хранить данные на стороне клиента, пока клиент не захочет их просмотреть. Есть множество способов сделать это с помощью Javascript (Vue JS - хороший вариант), но вам придется проявить творческий подход, если вы попытаетесь сделать это полностью в шаблоне. Я могу придумать несколько вариантов:

  1. Избегать второго шаблона: можно ли заполнить скрытый элемент DIV вторым набором данных, а затем просто нажать кнопку для переключения видимость этого DIV? Это было бы самым простым, но, возможно, это не выглядело бы хорошо для того, чего вы хотите достичь. Если вы используете Bootstrap, чтобы сделать ваш шаблон очень отзывчивым, вы, безусловно, можете достичь этого.
  2. Я не уверен, откуда поступают ваши данные, но может быть проще просто пересчитать в Python создать второй шаблон. Если данные не находятся в мегабайтах, ваш клиент, скорее всего, не заметит огромного лага, особенно если он открывается в новую вкладку.
  3. API - если вы еще не используете Django Rest Framework, он добавит целый другой уровень сложности в проект. Тем не менее, это позволит вам проявить больше творческого подхода к отображению информации. Вы всегда можете использовать гибридный подход, при котором большая часть ваших вещей все еще визуализируется с помощью Django, а затем создать несколько конечных точек API для того материала, который действительно в них нуждается.

Я довольно новичок в Python, Django, Javascript, Postgres и Vue JS, но, узнав достаточно о каждом из них, я смогу понять, как я смогу достичь sh большинства моих цели разработки, даже если мне приходится постоянно искать код. Мне нравится, насколько просты шаблоны Django, но когда я перешел на DRF и Vue, я приобрел гораздо большую гибкость (хотя и с гораздо большей сложностью).

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