Я знаю, что, возможно, об этом спрашивали миллион раз, но я искал вечно и не мог найти ответ. Я пытаюсь создать несколько выпадающих списков для использования в качестве поискового фильтра на моей странице индекса. Я загрузил модели с данными, но когда я пытаюсь отобразить данные в шаблоне, я не вижу, что находится в модели. Вот мой код:
views.py
from django.views.generic import TemplateView
from .models import LengthRange, Hull
class IndexView(TemplateView):
template_name = 'index.html'
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context['length_ranges'] = LengthRange.objects.all()
context['hull_types'] = Hull.objects.all()
return context
urls.py
from django.urls import path
from django.views.generic import TemplateView
urlpatterns = [
path('', TemplateView.as_view(template_name='index.html'), name='index'),
]
и мой фрагмент из index.html :
<h2 class="about-item__text">
A boat with a length of
<select>
<option value="*" selected>any size</option>
{% for length in length_ranges %}
<option value="{{ length.pk }}">{{ length.range }}</option>
{% endfor %}
</select>
, with hull type of
<select>
<option value="*" selected>any</option>
{% for hull in hull_types %}
<option value="{{ hull.pk }}">{{ hull.type }}</option>
{% endfor %}
</select>
Прошло очень много времени с тех пор, как я работал в Джанго, но это должно было быть относительно легко. Что мне здесь не хватает?