Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django字段错误_Python_Django - Fatal编程技术网

Python Django字段错误

Python Django字段错误,python,django,Python,Django,如何请求当前用户?我想做一些像 if user.id == pk # something sinister 其中,pk是url.py中用作正则表达式搜索词的字符串。我希望用户只能通过自己的主键转到分配给他的文件夹。目前,我的半途而废的函数如下所示: def permit(request, pk): u = User.objects.get(user=request.user) if user.id == pk: pass else:

如何请求当前用户?我想做一些像

if user.id == pk
    # something sinister
其中,
pk
url.py
中用作正则表达式搜索词的字符串。我希望用户只能通过自己的主键转到分配给他的文件夹。目前,我的半途而废的函数如下所示:

def permit(request, pk):
    u = User.objects.get(user=request.user)
    if user.id == pk:
        pass
    else:
        return render_to_response('forbidden.html')
这是URL.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

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

request.user
已经是用户。您可以检查request.user.is\u authenticated()哦,好的。我更改了代码,现在它总是将我重定向到禁止页面。我的代码现在是“if request.user.id==pk”。我认为传递给函数的这个pk变量与url.py中的regx搜索词是同一个变量,对吗?您必须检查文件夹的user和request.user是否相等。请原谅这些问题,但我怎么做?现在可以了,非常感谢。我想知道出了什么问题。user.id不是整数吗?
if int(request.user.id) == int(pk):
    pass