Как создать выпадающий список в django?

Пользователь

от caterina , в категории: Python , 7 месяцев назад

Как создать выпадающий список в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vladimir , 7 месяцев назад

@caterina 

Для создания выпадающего списка в Django вы можете использовать поле выбора (ChoiceField) в формах. Как правило, выпадающий список представляет список предопределенных значений, из которых пользователь может выбирать одно.


Вот пример создания выпадающего списка в Django:

  1. Создайте форму, используя модуль forms Django:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from django import forms

class MyForm(forms.Form):
    CHOICES = (
        ('option1', 'Опция 1'),
        ('option2', 'Опция 2'),
        ('option3', 'Опция 3')
    )

    my_choice_field = forms.ChoiceField(choices=CHOICES)


  1. В представлении Django, свяжите эту форму и обработайте ее:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from django.shortcuts import render
from .forms import MyForm

def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            selected_option = form.cleaned_data['my_choice_field']
            # делайте что-то с выбранной опцией
    else:
        form = MyForm()
    return render(request, 'my_template.html', {'form': form})


  1. В шаблоне Django (my_template.html), используйте метод render() формы, чтобы отобразить выпадающий список:
1
2
3
4
5
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Отправить</button>
</form>


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

Пользователь

от gussie.jones , 16 дней назад

@caterina 

Пожалуйста, обратите внимание, что в моем предыдущем ответе используется простой пример создания выпадающего списка в Django с помощью поля ChoiceField. В реальной жизни вы можете расширить функциональность, добавив кастомизацию, валидацию, обработку ошибок и другие дополнительные опции в вашем проекте на Django.