【问题标题】:Django FieldErrorDjango 字段错误
【发布时间】:2014-06-12 13:04:31
【问题描述】:

如何请求当前用户?我想做类似的事情

if user.id == pk
    # something sinister

其中pkurls.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是否相等。
  • 请原谅这些问题,但我该怎么做呢?

标签: python django


【解决方案1】:
if int(request.user.id) == int(pk):
    pass

尝试打印这两个值的 pk、request.user.id 和 type(...)

【讨论】:

  • 现在可以使用了,非常感谢。我想知道出了什么问题。 user.id 不是整数吗?
猜你喜欢
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 2011-08-15
  • 2014-10-18
  • 2014-04-05
  • 2012-04-15
  • 2012-03-13
  • 1970-01-01
相关资源
最近更新 更多