我正在进入django,这让我很头疼.我正在尝试获得一个简单的GET变量.网址为site.com/search/?q=search-term
我的观点是:
def search(request):
if request.method == 'GET' and 'q' in request.GET:
q = request.GET.get('q', None)
if q is not None:
results = Task.objects.filter(
Q(title__contains=q)
|
Q(description__contains=q),
)
...return...
else:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
搜索mysite.com/search/等查询?(没有q)如果正确的话,可以通过第一个.
问题出在mysite.com/search/?q=等查询中.他们不会被抓住if q is not None:
所以,简短的回答是我如何检查q == None?(我已经尝试过'',None等等,无济于事.)
我似乎无法让这个例子打印出"你什么都没提交!".每次我提交一份空表格时都会说:
你提交了:你''
代替:
你什么都没提交!
我哪里做错了?
views.py
def search(request):
if 'q' in request.GET:
message = 'You submitted: %r' % request.GET['q']
else:
message = 'You submitted nothing!'
return HttpResponse(message)
Run Code Online (Sandbox Code Playgroud)
模板:
<html>
<head>
<title> Search </title>
</head>
<body>
<form action="/search/" method="get" >
<input type="text" name = "q">
<input type="submit"value="Search"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)