Часто задаваемые вопросы

Технический

Отображение столбцов в макете bootstrap

Конечно, вы можете отображать поля формы внутри колонок, точно так же, как вы бы сделали это в стандартной форме bootstrap, вы можете сделать это и в макете bootstrap, см. example.

Using a custom widget

If you are using a custom widget you may find that django-crispy-forms does not render it correctly. In this case please use a custom template for that field, see Переопределение шаблонов объектов компоновки.

Общий

Почему стоит использовать django-crispy-forms, а не другое приложение

Ну, я явно предвзято отношусь к ответу на этот вопрос. Но я однажды answered it at StackOverflow.

Как все это началось?

In December 2008, while Daniel Feldroy was working for NASA’s Science Mission Directorate, his team began to use Django and Pinax. There was a necessity to make all the forms in Pinax Section 508 compatible, and the thought of going through all of forms and rewriting {{ form }} as a block of {% for field in form %} with all the template logic seemed like way too much work.

So with the encouragement of Katie Cunningham, James Tauber and Jannis Leidel Daniel took the Django docs on forms and combined it with Dragan Babic’s excellent Uni-Form CSS/JavaScript library and created the ubiquitous as_uni_form filter. After that, fixing all the forms in Pinax to be section 508 compliant was trivial.

Незадолго до PyCon 2009 Джеймс Таубер предложил API {% uni_form form helper %}, где можно было тривиально создавать формы без написания HTML.

На PyCon 2009 Яннис Лейдель помог Даниэлю выпустить релиз 0.3 django-uni-form на PyPI. Также на этом PyCon проект переехал из Google Code на Github.

Примерно с января 2011 года проект был не очень активен, проблемы на Github и форки накапливались. В это время Miguel Araujo нашел django-uni-form и ему понравилась концепция его архитектуры. Он начал работать в форке проекта, пытаясь собрать некоторые старые патчи. Примерно в марте 2011 года, после разговоров с Даниэлем, он получил право коммита в репозитории проекта, восстановив ветку dev. Затем последовали релизы 0.8.0, 0.9.0, и проект более чем удвоил число наблюдателей на Github.

By the end of 2011, Miguel and Daniel agreed on the necessity of renaming the project. As uni-form CSS framework was not anymore the only option available and the name was confusing the users. Thus django-crispy-forms was born, named by Audrey Feldroy. The project is now actively maintained and leaded by Miguel Araujo.

Насколько быстро работает django-crispy-forms

Производительность при рендеринге форм обычно является практически спорным вопросом в Django, потому что большинство проблем со скоростью можно решить с помощью соответствующего использования кэш-движка Django. Шаблоны и особенно рендеринг форм обычно являются последними вещами, о которых стоит беспокоиться, когда вы пытаетесь увеличить производительность.

Тем не менее, поскольку мы заботимся о создании бережливого и быстрого кода, ведется работа по ускорению и измерению производительности этой библиотеки. Это среднее время рендеринга 1000 форм с последним кодом django-crispy-forms на Dell Latitude E6500 Intel Core 2 Duo @ 2.53GHz.

В производственных средах необходимо активировать кэширование шаблонов, см. раздел Установка django-crispy-forms.

Метод

Время с кэшированием шаблонов

Простой Django

0.915469169617 сек.

|crispy фильтр

4.23220916295 сек

{% crispy %} тег

4.53284406662 сек

Какие версии Python он поддерживает?

Поддерживаемые версии включают Python 2.6.x, 2.7.x, Python 3.3.x. Если вам нужна большая обратная совместимость, django-crispy-forms ниже 1.3 поддерживает 2.5.x, а django-uni-form 0.7.0 поддерживает Python 2.4.x.

Какие версии Django это поддерживает?

Поддерживаемые версии включают Django 1.3 и выше. Версии django-crispy-forms ниже 1.3 поддерживают Django 1.2.x. Если вам нужна поддержка более ранних версий, вам нужно использовать django-uni-form 0.7.0.

Вернуться на верх