Как стать автором
Обновить

Комментарии 33

НЛО прилетело и опубликовало эту надпись здесь
Почти все эти плюшки есть в любом веб-фреймворке
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
И, что с того? Всеравно по ряду причин Yii Django не конкурент ни разу. Весовая категория не та.
НЛО прилетело и опубликовало эту надпись здесь
Я чего-то недопонимаю, может… Почему вы сравниваете фреймворки у которых разные назначения?
Чёрт пора спать… Yii а не yui, как я прочитал )
НЛО прилетело и опубликовало эту надпись здесь
Язык бы еще нормальный, был бы вообще дзен!
Написал же, что ошибся, что вообще не то прочитал — подумал js фреймворк сравнивают с джангой
Да причём тут вообще Yii? Я понимаю ещё Zend с Yii сравнивать, но всё-таки разные же языки?
НЛО прилетело и опубликовало эту надпись здесь
Пара советов: save() можно возвращать объект, который сохраняется/создается, иногда это удобно. Для форм User и UserProfile посмотрите как работает инлайн. Для нескольких форм одного типа есть замечательная штука Formset.

Вообще писателям форм настоятельно рекомендую читать прямо исходник django.forms чтобы знать чего ждать, особенно в части рендринга, и как строить workaround-ы.
Обратите внимание, это перевод. formset здесь специально не затрагивался, это новичковая статья. Ознакомление, так сказать.
Наш человек учится на ошибках… Американец же на компьютерах…

Из моего опыта я сделал вывод, что книга для чайников способна дать образование чайника. Нужно заведомо учить правильному мышлению, методике поиска и выбора правильного средства решения задачи, правильной структуры данных. Иначе пхпизм не изыдет и все будет делаться в циклах в ручном режиме, а логику сваливать в шаблоны.

Учитесь сразу высшему пилотажу, я верю в человечество.
Вы очень правы
Знаете, что вас хотел бы попросить…
Вот глядя в код человек далекий от технологии, которая фактически построена на магии, ничего не поймет. Для него этот декларативный вид формы ничего не скажет.

Написали бы вы как оно работает все. Логику построения вью. Секция пост или гет, случай is_ajax(). Почему действие направленное на коммит идет постом и зачем нужен редирект. Затем физику процесса как данные пост парсятся QueryDict (его плюсы… как работает getlist)… Потом механизмы валидации… Магический метод clean_. Как работают префиксы. Как прохакать в ините сделать обязательными некоторую группу полей выборочно в зависимости от выбранной радиокнопки, а может и добавлять поля динамически.

На мое удивление, люди приходящие с пхп или дотнета либо долго отказываются понимать как оно все элегантно работает, либо их охватывает нескрываемое благоговение.

Раскройте физику процесса — с удовольствием почитаю и покоментирую.
Боюсь, что вы сильно переоцениваете мои способности на данный момент, но я постараюсь отыскать и описать что-нибудь более низкоуровневое.

Насчет благоговения — может так оно и надо? На то они и языки с высоким уровнем абстракции, что иногда и без понимания физики можно добиться успеха в своём деле. А потом уже начинаешь интересоваться «а как это оно там»

Упоминание пхп в топике про питон чревато появлением нервного тика :)
Это всё можно найти в документации. А вот реально часто встречающаяся задача, для которой в Django, кажется, нет решения: форма загрузки файлов наподобие веб-интерфейса любого почтовика, то есть с динамическими полями, создаваемыми скриптом.
На чистом Django тут, наверное, не выехать => jquery + django
Со стороны django для поддержки этого есть formset'ы. Django отвечает за серверную часть, а не за клиентскую.
formset'ы поддерживают только повторение формы целиком (http://docs.djangoproject.com/en/dev/topics/forms/formsets/), если я не ошибаюсь. В случае необходимости создания формы для заполнения описания товара + списка магазинов, где он продается по разным ценам приходится использовать Javascript, но это ещё полбеды, отказаться от автоматической админки и на стороне сервера писать достаточно большую ручную валидацию для MyForm.__init__(*args, **kwargs).
Да, форма повторяется целиком. Другое дело, что никто не мешает форму в формсете указать свою, например, такую, которая содержит только нужные поля. Список магазинов с ценами (или чего там) — это таблица, в которой у элементов есть FK на товар, так? Т.е. можно определить свою форму для элементов этой таблицы и использовать формсет (который инлайн- и model-).

Я может как-то задачу не так понял, или не до конца?

Да, а для какого-нибудь добавления строк на клиенте в любом случае придется писать js.
Решение есть, легко находится с помощью google.
Есть ли у кого-то решение для формы, для такой структуры моделей:
объект, дочерний объект (fk), дочерний объект дочернего объекта (fk)?

Сложность в том, что при сохранении новой серии объектов,
мы еще не знаем их id, поэтому не можем нормально использовать inline_formsets.
И пост лучше перенести в блог Django, а то сейчас налетят всякие «а вот у нас в PHP...»
Всегда думал, что блог, который называется «Django Framework» и есть блог Django

Или вы имеете в виду закрыть доступ _не читателям_?
Показалось, что сначала топик был опубликован не в нем. Так всё ok, конечно.
php — это язык программирования, а не диагноз. да синтаксис у python значительно лучше, но это не значит, что нельзя архитектурные подходы подсматривать, тем более у нас открытых аналогов django даже рядом нет. воспетый выше yii — это _первый_ фреймворк на котором можно писать.
НЛО прилетело и опубликовало эту надпись здесь
PasswordField в 1.2 уже нету.
password = forms.CharField(widget=forms.PasswordInput(render_value=False))
Ну, как бы, это все и так очевидно. Зачем статья писалась — непонятно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории