【发布时间】:2014-06-12 13:04:31
【问题描述】:
如何请求当前用户?我想做类似的事情
if user.id == pk
# something sinister
其中pk 是urls.py 中用作正则表达式搜索词的字符串。我希望用户只能通过他自己的主键访问分配给他的文件夹。目前我半途而废的功能如下所示:
def permit(request, pk):
u = User.objects.get(user=request.user)
if user.id == pk:
pass
else:
return render_to_response('forbidden.html')
这是 urls.py 重定向到的视图函数。但是,这会返回错误:
FieldError: Cannot resolve keyword 'user' into field. Choices are: date_joined, document, email, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, logentry, password, user_permissions, username
【问题讨论】:
-
request.user已经是用户。你可以检查request.user.is_authenticated() -
哦,好的。我更改了代码,现在它总是将我重定向到禁止页面。我的代码现在是“ if request.user.id == pk ”我认为传递给函数的这个 pk 变量与 urls.py 中的 regx 搜索词相同的变量是否正确?
-
你必须检查文件夹的用户和request.user是否相等。
-
请原谅这些问题,但我该怎么做呢?