从浏览器中检索日期数据

时间:2014-01-03 16:38:08

标签: python django python-2.7 cgi query-string

我正在进行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

2 个答案:

答案 0 :(得分:2)

如果您正在构建Django应用程序,您没有使用CGI forms变量只会被填充一次,并且将永远为空。您也可以删除cgicgitb模块导入,它们对您没用。

您需要重新阅读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。