2016-05-10 4 views
0

Я пытаюсь передать некоторую информацию в представление в Django, чтобы отфильтровать список, а затем передать его обратно пользователю. Для того, чтобы сделать это, я следующий в моем urls.py:Kwargs is not

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) 

Однако каждый раз, когда я пытаюсь это я получаю ошибку: NameError at/info/user/1 глобальное название 'self' не определено

Любые идеи?

ответ

1

Вы должны изменить функцию просмотра. Заменить ** kwargs на user_id

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) 
1

kwargs не является атрибутом себя. Ваш код должен быть:

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