0

我正在尝试限制页面,以便只有页面与 URL 匹配的人才能访问它:

网址配置

url(r'^u/(?P<name>[-\w\d_]+)/edit/$', 'useraccounts.views.user_profile_edit')

视图.py

def user_profile_edit(request, name):
    if request.user.is_authenticated() and request.user == name:
        username = User.objects.get(username=name)
        return render(request, 'useredit.html', {'user': username})

打印出内容print request.userprint name在页面加载到控制台时显示两者在我的情况下是相同的(两者都是root)。但是,print bool(request.user == name)返回False,因此视图没有进展。

发生了什么,如果适用,有没有更优雅的方法来做这件事?

4

1 回答 1

1

你做错了。request.user是一个对象,name而是一个字符串。

重写你的条件如下:

if request.user.is_authenticated() and request.user.username == name:
于 2012-08-01T03:59:02.000 回答