Выберите выбор из models.py в html-форме DJANGO

У меня есть модель в models.py с полем living_countries:

LIVING_COUNTRIES = [
    ('AFGANISTAN', 'Afganistan'),
    ('ALBANIA', 'Albania'),
    ('ALGERIA', 'Algeria'),
    ('ANGORRA', 'Andorra')]

country_living = models.CharField(max_length=50, choices=LIVING_COUNTRIES, default='AFGANISTAN', blank=True)

Я хочу, чтобы пользователь, перед которым находится html-форма, мог выбрать один из этих вариантов.

Я пробовал:

на вид:

living_countries = models.Employee.objects.all()

в html:

<select name="category" id="id_category">
   {% for category in living_countries %}
      <option value="{{ category }}">{{ category }}</option>
   {% endfor %}
</select>

Он просто создает странные формы, такие как: shape. Я могу нажать на нее, но это ничего не делает.

Я хочу, чтобы пользователь видел выпадающее меню или что-то вроде этого. Спасибо:)

Вы захотите передать переменную living_countries в шаблон, используя контекст. Предположим, что ваше представление в файле views.py имеет следующий вид:

template = loader.get_template('app/page.html')

# You'll want to create a context variable that is a dictionary
context = {}
# Then, instantiate your variable you want to pass to the view
living_countries = models.Employee.objects.all()

# Now pass that variable to context
context['living_countries'] = living_countries

# Now render your view
return HttpResponse(template.render(context, request))

Теперь вы можете получить доступ к переменной в вашем шаблоне так, как это было в вашем вопросе:

<select name="category" id="id_category">
   {% for category in living_countries %}
      <option value="{{ category }}">{{ category }}</option>
   {% endfor %}
</select>
Вернуться на верх