如何在views.py中使用url param过滤模型(User)?

时间:2015-09-26 13:42:37

标签: python django django-models django-views

在我的一个模板中,我有这一行

<input type="submit" name="username" value="{{ post.user }}" />

所以点击此按钮提交后,我的网址有/?username = hi。

然后在我的views.py中我有这个

def finduser(request):
    username = self.request.query_params.get('username', None)
    if username is not None:
        user = User.objects.filter(username=username)
    return render(request, 'user.html', {'user': user})

我的问题是从网址检索“hi”然后搜索所有User对象的正确语法是什么,直到找到名为“hi”的用户

2 个答案:

答案 0 :(得分:1)

username = request.GET['username']

这是课程fully documented

答案 1 :(得分:0)

您需要在username词典中查找request.GET

来自HttpRequest.GET文档:

  

包含所有给定HTTP GET参数的类字典对象。

最终代码:

def finduser(request):
    username = request.GET.get('username') # lookup 'username' key
    user = None # also define this otherwise will raise error in the last line if username was 'None'
    if username is not None:
        user = User.objects.filter(username=username)
    return render(request, 'user.html', {'user': user})