170 похожих чатов

У меня есть форма, где есть список топиков, в шаблоне

я прохожу по этим топикам циклом, аля
{% for field in form.topics %}
{{ field}}
{% endfor %}
но мне нужно отсортировать эти топики в алфавитном порядке. Я сделал простой кастомный тэг, который выглядит как
def ..(topics):
return sorted(topics)
но когда я его применяю, мне выдает эксепшн, что нельзя итерироваться по BoundWidget. Так же пытался итерироваться по {% for .. form.topics.value %}
тоже не получилось, может кто-то сталкивался?

18 ответов

15 просмотров

Чую, что у тебя где-то проблема с переменными или с пониманием. По формам не итерируюся (если это не формсеты)

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Чую, что у тебя где-то проблема с переменными или ...

чего?) у меня есть модель, где поле topics это M2M, сама в форме у меня поле topics выглядит так topics = LocalizedSiteNameModelMultipleChoiceField( queryset=Site.objects.all(), class LocalizedSiteNameModelMultipleChoiceField(forms.ModelMultipleChoiceField): def label_from_instance(self, obj): return obj.root_page.specific.localized.site_short_name

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Чую, что у тебя где-то проблема с переменными или ...

и там все окс итерируется, то есть в самом шаблоне, когда я итерируюсь по form.topics у меня все окс, все чекбосы есть и форма валидная

Павел Казачёнок
чего?) у меня есть модель, где поле topics это M2M...

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

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Погоди, т.е. чтобы вывести чекбоксы, ты их врукопа...

есть он) просто чтоб весь код не копировать не вставлял

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Тогда я не понимаю, зачем итерироваться?

чтобы стилизовать нормально чекбоксы

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Тогда я не понимаю, зачем итерироваться?

так стой, даже без этого, я не могу применить эту сортировку, вернее этот тег

Павел Казачёнок
чтобы стилизовать нормально чекбоксы

Оке, это немного странное решение, но главное, что работает. Но я, как понимаю, увёл вопрос от самой проблемы)) что тут происходит def ..(topics): return sorted(topics)  И что сюда передаётся параметром?

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Оке, это немного странное решение, но главное, что...

я изначально в самой форме в queryset передавал Site.all().order_by('name') ну условно так, и все отрабатывало хорошо на английском, а на французском алфавитного порядка не было, они отображались в том же порядке, что и на английском

Павел Казачёнок
я изначально в самой форме в queryset передавал Si...

Абстрактно тяжко выдумывать решение. Как реализована локализация?

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Абстрактно тяжко выдумывать решение. Как реализов...

у нас вообще wagtail, так что немного он на себя берет) там либа wagtail_localize есть, а так просто .mo .po файлы, делаешь makemessages, делаешь compilemessages и он отображает

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Абстрактно тяжко выдумывать решение. Как реализов...

сами эти топики, они все переводятся на уровне вагтейла, то есть я не оборачивал там ничего в тег translate и тд

Павел Казачёнок
у нас вообще wagtail, так что немного он на себя б...

Но топики и вагтейл с po и mo - это разные вещи гет_текст используется для “статичных данных”

Павел Казачёнок
сами эти топики, они все переводятся на уровне ваг...

Этого не может быть (наверное не может быть). Так как данные по локализации лежат в бд, а не в файлах po no

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Но топики и вагтейл с po и mo - это разные вещи ге...

это же не статик данные, я их не переводил через геттехт

Павел-Казачёнок Автор вопроса
Pavel Aksenov
Этого не может быть (наверное не может быть). Так ...

ну я всех тонкостей не знаю, спорить не буду

Павел Казачёнок
ну я всех тонкостей не знаю, спорить не буду

Ну и я гадать не стану, как там работает. Соответственно и помочь не смогу. Извини

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта