Я хочу сделать что-то простое, используя Crispy Forms; Я хочу показать Fieldset только в том случае, если пользователь принадлежит к группе персонала. Это легко решается в стандартных шаблонов, как это:Условно отображать Fieldset с хрустящими формами
{% if user.is_staff %} show extra stuff {% endif %}
Может быть, я что-то пропустил в руководстве, но я не вижу, как я могу просто придать тег шаблона, как «{%, если user.is_staff %} "в макушку хрустящей формы. Было бы идеально подходит для моего случая использования, если я мог бы что-то вроде следующего, где я использую фиктивный «Djangotag», чтобы решить мою проблему:
self.helper.layout = Layout(
Fieldset(
'Section One',
'name',
'description',
),
Djangotag('{% if user.is_staff %}'),
Fieldset(
'Conditional Fieldset',
'field1',
'field2',
),
Djangotag('{% endif %}'),
Fieldset(
'More Details',
'detail1',
'detail2',
),
)
есть простой способ сделать это с хрустящими формами?
Примечание: Я уже реализован self.user = kwargs.pop('user')
подхода, и это не очень элегантные, я до сих пор ищу что-то лучше.
Я также попытался создать простые шаблоны для операторов if и пробовал это, HTML("{% include 'helpers/is_staff.html' %}"),
, но процесс визуализации завершился неудачно.
Это точный подход, который я начал реализовывать. Затем я понял, что мне нужно будет обезьянно с добавлением полей и виджетов и т. Д. Платформа Django так элегантно решает этот прецедент, что этот хак становится уродливым и кажется неприемлемым для меня, хотя он работает. – eezis