Python 使用Django显示表单输入
所以基本上我想做一个简单的表单,我可以输入文本,在我点击submit之后,看到文本 这是我的forms.py:Python 使用Django显示表单输入,python,django,forms,Python,Django,Forms,所以基本上我想做一个简单的表单,我可以输入文本,在我点击submit之后,看到文本 这是我的forms.py: class Search(forms.Form): search = forms.CharField() 以下是我的视图.py: def search(request): context = RequestContext(request) if request.method == 'POST': search = Search(
class Search(forms.Form):
search = forms.CharField()
以下是我的视图.py:
def search(request):
context = RequestContext(request)
if request.method == 'POST':
search = Search(data=request.POST)
if search.is_valid():
ticker = search.save()
ticker.save()
success = True
else:
print search.errors
else:
search = Search()
return render_to_response('ui/search.html', {"search":search}, context)
这是您用来输入的html表单(我使用bootstrap进行样式设置):
{%csrf_令牌%}
提交
最后,我希望表单中输入的文本显示在“search.html”上,当前的显示方式如下:
{% extends 'ui/base.html' %}
{% block title %} search {% endblock %}
{% block body_block %}
<br>
<p>test</p>
{{ form.search.data }} <!--I'm pretty sure this is not correct -->
{% endblock %}
{%extends'ui/base.html%}
{%block title%}搜索{%endblock%}
{%block body_block%}
试验
{{form.search.data}
{%endblock%}
有人知道我怎么做吗?谢谢。正如您所怀疑的,您的模板是错误的 它正在寻找一个名为“
form
”的上下文变量,但您给了它一个名为“search
”的键的上下文字典
此外,“data”是用于构建搜索
对象的参数(正确),但当您想从中提取用户输入时,应该使用字段名,并且需要对其调用值()
,以获取绑定值。因此,要获取名为search
的文本字段的内容,应该使用search.search.value
试着换线
{{ form.search.data }}
到
您的表单名是
search
要使用现代django呈现值,需要调用字段的value
方法,因此模板应如下所示:
{{ search.search.value }}
您不能在普通窗体上调用
save()
;你确定这就是你正在运行的代码吗?您还存在其他问题,因为并非所有执行路径都返回HttpResponse对象。你能确认这是否就是你正在运行的代码吗?我可以用.save()注释掉这两行代码,没有错误。但是我也没有得到我在表单中输入的内容,这正是我想要添加到模板中的理想内容。
{{ search.search.value }}
{{ search.search.value }}