Python 为什么Django认为我的查询字符串是空的?
我在Django中的一个视图中遇到查询字符串问题。我已经成功地处理了其他视图中的查询字符串,所以我不确定我在这里做错了什么。我把事情简化为一个基本的观点,但我仍然没有得到任何东西 我的网址:Python 为什么Django认为我的查询字符串是空的?,python,django,query-string,Python,Django,Query String,我在Django中的一个视图中遇到查询字符串问题。我已经成功地处理了其他视图中的查询字符串,所以我不确定我在这里做错了什么。我把事情简化为一个基本的观点,但我仍然没有得到任何东西 我的网址: localhost/query\u view/?foo=foo 我的模板: 标题 {{query_string}} 我的看法是: def查询视图(请求): query\u string=request.META['query\u string'] 返回呈现(请求'query\u view.html',
localhost/query\u view/?foo=foo
我的模板:
标题
{{query_string}}
我的看法是:
def查询视图(请求):
query\u string=request.META['query\u string']
返回呈现(请求'query\u view.html',{'query\u string':query\u string})
我希望页面上会显示foo=foo
,对吗?目前,我什么也得不到
编辑:Django版本1.9.4,Python版本3.4.3我会在返回之前放置一个调试器,以查看请求中的实际内容。但通常类似于
request.GET.GET('foo')
的东西会满足您的需求。此外,如果foo
实际上为空,则可以提供默认值request.GET.GET('foo','blah')
我会在返回之前放置一个调试器,以查看请求中的实际内容。但通常类似于request.GET.GET('foo')
的东西会满足您的需求。此外,如果foo
实际上为空,则可以提供默认值request.GET.GET('foo','blah')
试试看
def query_view(request):
query_string = request.GET.get('foo',None)
print(query_string)
return render(request, 'query_view.html', {'query_string': query_string})
并检查查询字符串值是否为None
如果不成功,请告诉我
此外,还要提到您的django和python版本。试试看
def query_view(request):
query_string = request.GET.get('foo',None)
print(query_string)
return render(request, 'query_view.html', {'query_string': query_string})
并检查查询字符串值是否为None
如果不成功,请告诉我
此外,还请提及您的django和python版本。您是否尝试过打印
请求。META['QUERY\u STRING']
?@HaifengZhang也不返回任何内容。does请求。GET['foo']
给您foo
?您是否尝试过打印请求。META['QUERY\u STRING']
?@HaifengZhang也不返回任何内容。doesrequest.GET['foo']
give youfoo
?不幸的是,也没有返回任何信息。我希望我能提供更多信息,但我不确定还有什么相关信息,因为我的其他视图工作正常。如果您需要有关我的环境或其他任何信息,请告诉我。谢谢,您的回答是正确的,但tom帮助我完成了我的工作问题,所以我给了他复选标记。不幸的是,也没有返回任何信息。我希望我能提供更多信息,但我不确定还有什么相关信息,因为我的其他视图工作正常。如果您需要有关我的环境或其他任何方面的更多信息,请告诉我。谢谢,您的答案是正确的,但tom帮助我解决了问题我的问题,所以我给了他一个复选标记。好的,它不会返回任何结果。请尝试使用其他url,如localhost/view/?foo=foo,localhost/view/?foo=bar,localhost/view/?foo='foo',localhost/view/?foo=1234,看看这些是否有效?你能提到你的url.py,特别是你的url吗?还要确保你的url与其他url不匹配请删除。url(r'^query\u view/',views.query\u view,name='query\u view'),
,它与任何其他url都不匹配。您确定您的请求将要查询视图(请求)?好的,它不会返回None。请尝试使用一些其他url,如localhost/view/?foo=foo、localhost/view/?foo=bar、localhost/view/?foo='foo',localhost/view/?foo=1234,然后查看这些是否有效?您可以特别提到您的url.py您的url吗?还要确保您的url与上面的任何其他url都不匹配。url(r“^query\u view/”,views.query\u view,name='query\u view'),
,它与任何其他URL都不匹配。您确定您的请求将要查询视图(request)?