Комментарии 22
+1
Кстати, в версии Django 1.5 убрали localflavor из Django и перенесли в отдельные репозитории. Например для россии тут. Чтобы ими пользоваться придется их дополнительно устанавливать для каждой страны.
+1
На самом деле вчера не успел отредактировать и уточнить что не убрали а начали процесс по переносу. «localflavor» еще там, но вываливается Deprecation Warning что нужно пользовать django-localflavor-*. В более поздних версиях совсем уберут.
0
Спасибо за статью. Небольшое примечание к стилистике:
->
то же самое с
if not phone:
->
if phone is None:
то же самое с
if not value ...
-1
Это же разные проверки. В данном случае все верно.
+1
Вот уж не согласен. Вторая строка дзен Python: «Explicit is better than implicit.». В Python
Я в своё время получил много головной, ожидая в функции строковый аргумент такого вида:
Проблемы начинались тогда, когда
not X
может означать всё что угодно, например:х = 0
not x # тут всё просто
>>> True
x = ""
not x # а здесь уже работает len(x)
>>> True
х = []
not x # и здесь
>>> True
x = {}
not x # то же самое
>>> True
x = None
not x # а вот так писать - прямая дорога в Питоний ад.
>>> True
Я в своё время получил много головной, ожидая в функции строковый аргумент такого вида:
def f(s = None):
if not s:
print 's is None'
Проблемы начинались тогда, когда
s == ""
.0
Вы не согласны с чем? С тем что not и is None — разные проверки, которые дают разный результат? Откуда там None возмется?
+1
«Я использую инпут для одной строки, хочу туда писать много строк. Джанга не удобна».
Офигено. Вам дают отличные инструменты для работы с подобными задачами FormSet и InlineFormSet, почему их не юзаете?
Офигено. Вам дают отличные инструменты для работы с подобными задачами FormSet и InlineFormSet, почему их не юзаете?
0
Да нет же, строка одна насколько я понял… Я вот только не понимаю чем автору не угодило:
1. хранить в базе готовые отформатированные номера
2. отформатировать номер ровно 1 раз — при получении его от юзера (ну будет он в форме по новому выводится — дак и хрен с ним).
1. хранить в базе готовые отформатированные номера
2. отформатировать номер ровно 1 раз — при получении его от юзера (ну будет он в форме по новому выводится — дак и хрен с ним).
0
Потому что искренне убежден, что пользователю удобнее ввести два телефона через запятую, чем нажимать плюсик и ставить фокус в следующее поле вода.
0
Ну так ставьте фокус автоматом, после нажатия на «плюсик».Да и потом, какая надобность ДВА телефона указывать в ОДНОМ поле? Обычная практика — мобильный и стационарный номер.
Какой же ширины поле должно быть? А если не большой ширины, то что бы проверить то, что пользователь ввел — надо курсор двигать влево-вправо? Тоже не очень удобно.
Какой же ширины поле должно быть? А если не большой ширины, то что бы проверить то, что пользователь ввел — надо курсор двигать влево-вправо? Тоже не очень удобно.
0
Ну добавляйте поля по клику пользователя на пробел, запятую и т.д. В чем проблема?
-1
И где вы такое видели? И как это будет работать без js? И если нажать бекспейс в пустом поле, поле нужно убрать (пользователь удаляет виртуальную запятую, которую не видит)? И в чем будет отличие от .split(",") на сервере и от одного поля для пользователя?
Придумываете уже какой-то бред, лишь бы доказать первоначальный тезис, что я сделал что-то не так.
Придумываете уже какой-то бред, лишь бы доказать первоначальный тезис, что я сделал что-то не так.
0
Без JS стандартный метод работы с Formset, всегда пара свободных полей дополнительно.
Вы действительно делает что-то не так )
Много телефонов, к одной модели. Это однозначно FK (если не M2M, зависит от данных). Зачем запихивать данные, которые должны храниться как FK в модель через CharField? Ошибка в структуре хранения данных.
Вы действительно делает что-то не так )
Много телефонов, к одной модели. Это однозначно FK (если не M2M, зависит от данных). Зачем запихивать данные, которые должны храниться как FK в модель через CharField? Ошибка в структуре хранения данных.
0
Согласен с тем, что в модели FK на телефонный номер, а в шаблоне формсет, кстати Вы можете оставить одно поле, если Вам так хочется, и вводить номера через запятую, а по сабмиту вызвать js, который преобразует всё в формсет. Но как по мне — то с плюсиком удобнее (с автофокусом).
0
вот снипет нашёл, наткнувшись на эту статью http://djangosnippets.org/snippets/2811/
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Проблемы в библиотеке форм Django на примере поля ввода телефонов