在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?

查看:115
本文介绍了在Django中,我如何编写url.py,其中users / self /与users /< pk> /相同,而< pk>是您登录的用户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 /&lt; pk&gt; /相同,而&lt; pk&gt;是您登录的用户pk?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆