0

我看到了这段代码并且有几个问题..如果有人能解释这将非常有帮助。

视图.py

def search_page(request):
    pdb.set_trace()
    form = SearchForm()
    bookmarks = []  
    show_results = False
    if 'query' in request.GET:
        show_results = True
        query = request.GET['query'].strip()
        if query:
           form = SearchForm({'query': query})
           bookmarks = Bookmark.objects.filter(title__icontains=query)
    variables = RequestContext(request,{'form': form,
                                       'bookmarks': bookmarks,
                       'show_results': show_results,
                       'show_tags': True,
                       'show_user': True})

    return render_t7tr o_response('search.html', variables)

form.py class SearchForm(forms.Form): query = forms.CharField(label=u'输入要搜索的关键字', widget=forms.TextInput(attrs={'size':32}))

下面的代码行是如何工作的?

如果 request.GET 中的“查询”

'query' 字符串在 request.Get?..当我调试时字典包含的值包含我给出的搜索值。

代码工作正常,但我想了解。

4

1 回答 1

0

映射的包含测试会检查键。

key in d

True如果d有一个键key ,则返回,否则False

编辑:

Django 解析查询字符串并request.GET从中填充。

于 2012-04-04T02:29:35.347 回答