相关疑难解决方法(0)

如何检查request.GET var是否为None?

我正在进入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等等,无济于事.)

python django

24
推荐指数
1
解决办法
4万
查看次数

Django request.GET

我似乎无法让这个例子打印出"你什么都没提交!".每次我提交一份空表格时都会说:

你提交了:你''

代替:

你什么都没提交!

我哪里做错了?

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)

django request

19
推荐指数
2
解决办法
9万
查看次数

标签 统计

django ×2

python ×1

request ×1