Kwargs没有通过

时间:2016-05-10 20:29:34

标签: python django model-view-controller django-views

我正在尝试将一些信息传递给Django中的视图,以便过滤列表然后将其传递给用户。为了做到这一点,我在urls.py中有以下内容:

url(r'^info/user/(?P<user_id>\d+)$', views.UserInfoView, name='active_reservations'),

并定义了以下视图:

def UserInfoView(request, **kwargs):
    template = "parking/detail_user.html"
    user = User.objects.filter(user=self.kwargs['user_id'])
    context = {"user": user}
    return render(request, template, context)

但是,每次尝试此操作时都会收到错误:/ info / user / 1处的NameError 全球名称&#39; self&#39;未定义

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

kwargs不是自我的属性。你的代码应该是:

user = User.objects.filter(user=kwargs['user_id'])

答案 1 :(得分:1)

您应该更改视图功能。用 user_id

替换** kwargs
def UserInfoView(request, user_id):
    template = "parking/detail_user.html"
    user = User.objects.filter(user=user_id)
    context = {"user": user}
    return render(request, template, context)