PythonAnywhere终端执行collectstatic命令遇权限拒绝错误求助
解决PythonAnywhere执行collectstatic时的PermissionError问题
嘿,我之前在PythonAnywhere上也碰到过这个一模一样的权限问题!别慌,这本质是PythonAnywhere的文件权限规则限制导致的,咱们一步步来搞定:
检查并修正STATIC_ROOT配置
打开你的Django项目里的settings.py,找到STATIC_ROOT这一行。你大概率是把它设成了系统根目录下的/static(普通用户根本没有这个目录的读写权限),得改成你项目目录下的子文件夹,比如:import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_ROOT = os.path.join(BASE_DIR, 'static')这样
STATIC_ROOT指向的就是/home/DMells123/nomadpad/static,这个目录属于你的用户,你完全有权限操作。手动创建static目录并设置权限
如果项目根目录下还没有static文件夹,先在bash终端里创建它:mkdir ~/nomadpad/static然后确保它的权限正确(避免后续写入问题):
chmod 755 ~/nomadpad/static重新执行collectstatic命令
回到bash终端,激活你的虚拟环境后,再次运行:python manage.py collectstatic这次应该就能顺利收集静态文件了!
小提醒:PythonAnywhere的普通用户只能对自己
/home/你的用户名目录下的文件进行读写操作,绝对不要尝试操作系统根目录下的文件夹,肯定会触发权限错误。
内容的提问来源于stack exchange,提问作者ML_Engine
相关产品推荐
相关产品推荐

