在Django中,我如何编写url.py,其中users / self /与users /< pk> /相同,而< pk>是您登录的用户pk? [英] In Django, how do I write a url.py where users/self/ is the same as users/<pk>/, where <pk> is your logged in user pk?
问题描述
我正在尝试编写一个 url.py
,其中有一个供用户
I am trying to write a url.py
where I have a simple view for 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 ),
)
重定向的问题是我不知道 url.py
中已登录用户的 pk
。在 view.py
中,我显然会执行 @login_required
才能访问用户/ self /
。
The problem with the redirect is I don't know the pk
of the logged in user in url.py
. In view.py
, I would obviously do a @login_required
to be able to access users/self/
.
也许我是用这种错误的方式?你们建议我做什么?
Maybe I am doing this wrong way? What do you guys suggest I do?
推荐答案
我的建议(不确定是否最简单的建议)是创建一个新的建议。视图,您可以在其中获取用户的pk,然后调用 users_detail
视图:
My suggestion (not sure if it's the easiest one) would be to create a new view, where you can grab the user's pk and then call the users_detail
view:
@login_required
def self_detail(request):
return users_detail(request, request.user.pk)
这篇关于在Django中,我如何编写url.py,其中users / self /与users /< pk> /相同,而< pk>是您登录的用户pk?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!