【发布时间】:2011-12-08 12:49:08
【问题描述】:
我正在 django 中制作一个搜索表单,我正在努力处理我认为的表单。
我的代码:
class SearchForm(forms.Form):
name = forms.CharField(label="Name", max_length=64, required=False)
...
<a few other fields>
def search(request):
if request.method == 'POST':
form = SearchForm(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
qdict = { 'name': name}
q_objs = [Q(**{qdict[k]: form.cleaned_data[k]}) for k in qdict.keys() if form.cleaned_data.get(k, None)]
search_results = Group.objects.select_related().filter(*q_objs)
response = {'success' : search_results}
return HttpResponse(simplejson.dumps(response, ensure_ascii=False), mimetype='application/javascript')
else:
form = SearchForm()
return render_to_response("main/search.html", {'form': form},
context_instance=RequestContext(request))
我收到此错误: 无法将关键字 u'NAME' 解析为字段。选项有:date_submitted、id、name、参数。
我意识到这个字段是 unicode 并尝试使用 str(...) 或 encode('ascii',...) 转换它,但它仍然给我同样的错误。我是 django 的新手,所以任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: python django forms django-forms django-views