Ошибка передачи имени пользователя в 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']
,