我正在进行Web应用程序,但无法从浏览器中检索日期值。我选择了日期01/16/2014。
查询字符串如下所示:
?dd=01%2F16%2F2014
我的代码是:
from django.http import HttpResponse, HttpResponseNotFound
import cgi, cgitb
form = cgi.FieldStorage()
def pod_available(request):
dat = form.getvalue('dd')
print dat
return HttpResponse("<html><body>Hello<em>" + str(dat) + "</em></body></html>")
输出:
HelloNone
答案 0 :(得分:2)
如果您正在构建Django应用程序,您没有使用CGI 。 forms
变量只会被填充一次,并且将永远为空。您也可以删除cgi
和cgitb
模块导入,它们对您没用。
您需要重新阅读Django tutorial;视图的request
参数包含所有表单变量:
def pod_available(request):
dat = request.GET['dd']
print dat
return HttpResponse("<html><body>Hello<em>" + str(dat) + "</em></body></html>")
request.GET
object是一个字典,其中包含通过URL传入的请求参数。
答案 1 :(得分:1)
如果这是一个Django应用程序,那么以任何方式使用CGI绝对没有意义。我假设pod_available
正在调用HttpRequest
传递给它的对象,所以如果你想读取请求数据,你必须访问该对象才能获得它。
你可以通过访问它们的密钥 - 在这种情况下为'dd'
- 对象:
def pod_available(request):
dat = request['dd']
return HttpResponse("<html><body>Hello<em>" + str(dat) + "</em></body></html>")
无论如何,这不是CGI应用程序,所以不要在那里使用任何CGI。