gpt4 book ai didi

python - Django - 简单的搜索表单

转载 作者:太空宇宙 更新时间:2023-11-04 00:45:30 25 4
gpt4 key购买 nike

使用 Django 1.9 和 Python 3.5,我想制作一个简单的搜索表单:

views.py

from django.views import generic
from django.shortcuts import render
from .models import Movie, Genre

class IndexView(generic.ListView):
template_name = 'movies/index.html'
page_template = 'movies/all_movies.html'
context_object_name = 'all_movies'
model = Movie

def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context.update({
'all_genres': Genre.objects.all(),
'page_title': 'Latest'
})
return context

def get_queryset(self):
query = request.GET.get('q')
if query:
return Movie.objects.filter(title__icontains=query)
else:
return Movie.objects.all()

表单

<form method="GET" action="" id="searchform">
<input class="searchfield" id="searchbox" name="q" type="text" value="{{ request.GET.q }}" placeholder="Search..."/>
</form>

出于某种原因,我不断收到错误消息:

name 'request' is not defined

我不太确定我做错了什么,任何帮助将不胜感激。

最佳答案

该错误并非如您所想的那样来自您的模板。它来自你的观点

def get_queryset(self):
query = request.GET.get('q')

应该是

    query = self.request.GET.get('q') 

关于python - Django - 简单的搜索表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842386/

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