0

まず、この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/'
        )
    ),
) 
4

1 に答える 1

1

urlconf でそのような動的フィルタリングを行うことはできません。DetailView をサブクラス化し、オーバーライドget_querysetして でフィルタリングしself.kwargs['username']ます。

于 2013-02-13T21:00:16.903 に答える