gpt4 book ai didi

python - Django TemplateView 上下文未在模板上呈现

转载 作者:行者123 更新时间:2023-12-01 01:06:49 25 4
gpt4 key购买 nike

我知道这个问题可能已经被问了一百万次,但我一直在寻找,但找不到答案。我正在尝试创建几个选择下拉列表以用作索引页面上的搜索过滤器。我已经向模型加载了数据,但是当我尝试在模板上渲染数据时,我看不到模型中的内容。这是我的代码:

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>

自从我在 Django 工作以来已经有很长一段时间了,但这应该相对容易。我在这里缺少什么?

最佳答案

您在 URL 模式中使用 TemplateView - 您应该导入您的 View 并使用它。

from myapp.views import IndexView

urlpatterns = [
path('', IndexView.as_view(), name='index'),
]

关于python - Django TemplateView 上下文未在模板上呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55266172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com