Как сохранить вывод в одном выпадающем списке с помощью django
У меня есть скребок, который скребет данные о круизах, я захватываю название круиза. Моей целью было вывести эти результаты в одно выпадающее меню, чтобы я мог выбрать одно из них из выпадающего списка. Однако вместо этого получается несколько вариантов ввода и только одно название в выпадающем меню. I.E.
Мой сценарий:
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. Тогда вы сможете назначить несколько вариантов определенному объекту.
Также вы должны посмотреть документацию о формах.