2012-06-27 2 views
0

Нам нужно визуализировать формы в python и захватить вывод html. До сих пор мы прибегаем к грязному хаку:Оформление форм через django-crispy-forms в python

 
def crispy_page(form):     
    mini_template = """       
     {% load crispy_forms_tags %}     
     {% crispy form %}        
    """           
    from django.template import Template, Context 
    t = Template(mini_template)     
    c = Context({"form":form})     
    return t.render(c) 

Мы хотели бы, чтобы просто быть в состоянии получить обработанный выход непосредственно из хрустящих форм как-то, без необходимости прыгать через систему Джанго шаблонной. Есть предположения?

+0

у вас есть помощник? у вас есть макет? что такое прецедент? Зачем вам нужен HTML-код на Python, если я могу спросить, могут быть лучшие способы настройки вывода. – maraujop

+0

У меня есть помощник и макет. Вариант использования двоякий. 1) Я хочу проверить выход html формы. 2) Я хочу иметь форму, содержащую подчиненную форму. Итак, в python я хочу отобразить подформат до html, а затем вставить этот html в форму контейнера, где находится подформат-поле. – chrispitzer

ответ

2

These are the lines в узле для тега {% crispy %} для визуализации формы с помощником + макет. Я мог бы реорганизовать их, так что их легко вызвать извне. Считалось, что приложение не используется на стороне сервера, поэтому для него так сложно.

Это мое понимание, что у вас есть некоторые поля формы A, а затем поля другой формы B, а затем больше полей формы A, это правильно?

EDIT 2012/7/30

версия 1.2.0 будет поставляться с render_crispy_form функции, которая решает проблему: https://github.com/maraujop/django-crispy-forms/issues/64#issuecomment-7354910