Как сохранить вывод в одном выпадающем списке с помощью django

У меня есть скребок, который скребет данные о круизах, я захватываю название круиза. Моей целью было вывести эти результаты в одно выпадающее меню, чтобы я мог выбрать одно из них из выпадающего списка. Однако вместо этого получается несколько вариантов ввода и только одно название в выпадающем меню. I.E.

enter image description here

Мой сценарий:

models.py:

from django.db import models

class Cruises(models.Model):
    title = models.TextField(max_length=200)

views.py:

from django.shortcuts import render
from .models import Cruises

def basic(request):
    long_list = Cruises.objects.values('title')
    return render(request, 'cruise_control/basic.html', context = {'long_list':long_list})

basic.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Cruises</title>
  </head>
<body>
<h1> Cruise Control </h1>

{% for lng_l in long_list %}
<form action="/action_page.php">
  <label for='destination'>Destination</label>
  <input type="text" list="destination" />
  <datalist id="destination">
  <option>{{lng_l.title}}</option>
  </datalist>
  <!label for="cruisetime">Departure date</label>
  <!input type="date" id="cruisetime" name="cruisetime" min={{dep_l.departureDate}}>
  <!input type="submit">
</form>
{% endfor %}
</body>
</html>

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

Я думаю, вас должно интересовать отношение many-to-many. Тогда вы сможете назначить несколько вариантов определенному объекту.

Также вы должны посмотреть документацию о формах.

Вернуться на верх