表单未正确显示在html中

时间:2018-01-03 02:30:43

标签: python html django

表单未正确显示在html中。我在search.html中写道,

{% load static %}

<form action='/search/' method='POST>
  <table>
    {{ form.as_table }}
  </table>
  <input name="submit" type="Search" />
  {% csrf_token %}
</form>
在views.py中

def search(request):
   form = SearchForm()
   if request.method == 'GET':
       return render_to_response(
           'search.html', {'form': form}, RequestContext(request))
   elif request.method == 'POST':
      form = SearchForm(request.POST)
      search_result = POST.objects.all()
      if form.is_valid():
          result = search_result.filter(Q(title__contains=form.cleaned_data['keyword']))
   return render_to_response('search.html',{'form':form, 'result':result})

当我访问搜索方法时,search.html显示为字符串 now search.html

它不是From,所以我真的无法理解为什么会发生这样的事情。没有发生错误但是UserWarning:在模板中使用了{% csrf_token %},但是上下文没有提供值。这通常是由于不使用RequestContext引起的。   &#34;在模板中使用了{% csrf_token %},但是上下文&#34;在终端显示。我该如何解决这个问题?我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

这可能不是问题,但我认为你的输入标签是错误的,应该是这样的:

 <input name="submit" type="Search">

在此处:https://www.w3schools.com/tags/tag_input.asp