1

url.py簡単なビューがある場所を書き込もうとしていますusers

urlpatterns = patterns( 'doors.view',
    url( r'^users/$'            , 'users_list'  , name = 'users_list'   ),
    url( r'^users/(?P<pk>\d+)/$', 'users_detail', name = 'users_detail' ),
    url( r'^users/self/$'       , # do some sort of redirect here       ),
)

pkリダイレクトの問題は、ログインしているユーザーの名前がわからないことurl.pyです。では、 にアクセスできるようにするためにview.py明らかに を実行します。@login_requiredusers/self/

多分私はこの間違った方法をやっていますか?あなたたちは私に何をするように提案しますか?

4

3 に答える 3

4

urls.pyで次のことを行うこともできます。

urlpatterns = patterns( 'doors.view',
    url( r'^users/$'            , 'users_list'  , name = 'users_list'   ),
    url( r'^users/(?P<pk>\d+)/$', 'users_detail', name = 'users_detail' ),
    url( r'^users/self/$'       , 'users_detail', {'pk'='self'}       ),
)

そしてviews.pyで:

if pk == 'self':
    user = request.user
else:
    user = User.objects.get(pk=pk)
于 2012-03-24T12:00:45.797 に答える
2

users_detail私の提案 (最も簡単かどうかはわかりません) は、ユーザーの pk を取得してビューを呼び出すことができる新しいビューを作成することです。

@login_required
def self_detail(request):
    return users_detail(request, request.user.pk)
于 2012-03-24T06:04:50.213 に答える
1

user_detail()からの値で呼び出すビューを作成しますrequest.user.pk

于 2012-03-24T06:03:54.333 に答える