未定义“Python'name”

2024-04-25 00:58:32 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,这是密码:

def post_search(request):
    global cd,results,total_results
    form = SearchForm()
    if 'query' in request.GET:
        form = SearchForm(request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            results = SearchQuerySet().models(Post).filter(content=cd['query']).load_all()
            # count total results
            total_results = results.count()
    return render(request, 'blog/post/search.html', {'form': form,
                                                     'cd': cd,
                                                     'results': results,
                                                     'total_results': total_results})

找到错误提示: name 'cd' is not defined

我定义了“cd”,怎么会出现这个错误


Tags: form密码searchgetifisrequestcount
1条回答
网友
1楼 · 发布于 2024-04-25 00:58:32

变量cd只有在GET请求中query参数可用且表单有效时,才会声明变量cd。在

若要解决此问题,请将cd声明为任何默认值。例如)

cd = {}
if 'query' in request.GET:

现在,如果不重新分配cd,您将有一个空dict,它将作为已清理的_数据传递到模板

相关问题 更多 >