这是我的表格:
<form action = "/search/" method = "get">
<input type = "text" name = "q">
<input type = "submit" value = "Search">
</form>
我的观点是:
^{2}$当我试着输入一些东西时,一切都很好,除了奇怪的“u”字。例如,当我输入asdasda时,我得到输出You searched for: u'asdsa'
。另一个问题是,当我提交一个空表单时,输出只是u''
,而它应该是“yousubmittedanemptyform:(”)。我在读“Django书”,1.x.x版本,这是一个例子。。在
对于第一个问题,请尝试使用
%s
,而不是%r
。您所做的是“原始”格式化,当字符串是unicode时,它告诉您这一点。普通字符串格式将只复制不带“u”或引号的值。在对于第二个问题,文本输入在字典中总是有键。不要使用
if
语句,请尝试:测试字符串是否为空。在
“奇怪的u”是一个unicode字符串。你可以在这里阅读:http://docs.python.org/tutorial/introduction.html#unicode-strings
我猜自从用户按下submit,你会得到一个请求,它有一个空的q值(u''),因为用户没有输入任何东西。这很有道理,对吧?您应该更改if语句以检查此空unicode字符串。在
“q”出现在请求.GET字典表单提交后,它恰好是空的。尝试此操作,以在提交空查询时显示错误消息:
相关问题 更多 >
编程相关推荐