首页 > 解决方案 > PermissionError: [Errno 13] Permission denied - Python/Django Locallibrary

问题描述

所以我正在关注本教程: https ://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Home_page

在我的urls.py中使用此代码:

urlpatterns += [
    path('catalog/', include('catalog.urls')),
]

向我抛出错误

PermissionError: [Errno 13] Permission denied: '/home/jakoubu/django_projects/locallibrary/catalog/urls.py'

有谁知道怎么回事?我已经在整个互联网上搜索了答案...

标签: pythondjango

解决方案


看起来运行 Django 服务器的任何用户都无权访问 urls.py 文件。

要查看谁拥有该文件,请使用该ls -l /home/jakoubu/django_projects/locallibrary/catalog命令并查看该文件第三列中的用户名。

该命令要注意的另一重要事项是第一列,它描述了允许谁访问这些文件。您将看到每个文件有 10 个字母,输出可能如下所示:

drwxr-xr-x

阅读本文的方法是:

第一个字符:它是一个目录吗?d如果是,-如果不是

接下来 3 个字符:文件所有者有什么权限?rwx是“读、写和执行”的缩写。如果缺少其中任何一个,所有者将无法执行该操作。(用于whoami查看您是哪个用户)

接下来 3 个字符:“组”有什么权限?与上述类似,但用于一组用户。(用于groups查看您属于哪些组)

最后 3 个字符:其他人有什么权限?

严厉的解决方案,一定能解决您的问题:让您计算机上的任何人访问该文件chmod 777 /home/jakoubu/django_projects/locallibrary/catalog/urls.py。这肯定会奏效,但是文件所有权存在更深层次的问题,您应该使用上面的命令来调查和解决。


推荐阅读