Ошибка передачи имени пользователя в Generic DetailView - django 1.4.3

Прежде всего, я прочитал это имя пользователя django в URL, вместо id это помогло, но не решило мою проблему. Я не хочу писать какой-либо код в views.py если я могу помочь

Вещи, которые я попробовал под urls.py, Примечание: в обоих случаях я получаю name 'username' is not defined,

1

urlpatterns = patterns('',
    url(r'^(?P<username>[\w.@+-]+)/$',
        login_required(
            DetailView.as_view(
                model=User,
                username=username,
                template_name='account/user_detail.html'),
            login_url='/accounts/login/'
        )
    ),
)

2

urlpatterns = patterns('',
    url(r'^(?P<username>[\w.@+-]+)/$',
        login_required(
            DetailView.as_view(
                model=User,
                queryset=User.objects.get(username=username),
                template_name='account/user_detail.html'),
            login_url='/accounts/login/'
        )
    ),
) 

1 ответ

Вы не можете делать такую ​​динамическую фильтрацию в urlconf. Подкласс DetailView и переопределение get_queryset фильтровать по self.kwargs['username'],

Другие вопросы по тегам