Django: как создать ChoiceField / html Выбрать элемент без имени? - PullRequest
0 голосов
/ 19 марта 2020

В настоящее время у меня есть форма Django, которая создает для меня элемент html <Select>: -

class RegionSelectionForm(forms.Form):
    lstAll = [('', '(ALL)')]
    lstChoices = lstAll + list(region.objects.values_list('code', 'name').order_by('name'))
    RegionSelection=forms.ChoiceField(choices=lstChoices, widget=forms.Select(attrs={'class': 'form-control searchfields'}),
                                        required=False, label="")

Это передается через представление в шаблон, который позволяет пользователю выбрать постоянство от другого <select> элемента.
Единственная цель RegionSelectionForm состоит в том, чтобы применить фильтр области к другому <Select> с помощью JavaScript и позволить пользователю более легко находить то, что он хочет. Он никогда не используется при отправке для указания параметров запроса GET.
И все же он появляется в URL: -

https://mydummysite.co.uk/test_map/?!!!!RegionSelection!!!!=&displayfind=Random&find=0&findtype=&maptype=normal

Мне нравится использовать Python в файле форм для воспроизведения данных, настроить варианты et c. Это намного проще (для меня), чем использовать Django теги шаблона в реальном шаблоне и перебирать его, используя {% for ... %} l oop, и кажется, что это лучшее место для его размещения. И это прекрасно работает.

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

Я хочу в основном потерять атрибут name="RegionSelection" элемента <select> и исключить его из любой отправки.

Я довольно новичок в Django и, возможно, "неправильно" использую Форма объекта, но это похоже на разумный вариант использования. Так возможно ли это?

Спасибо,

Фил

...