django - 我已经在 apache 服务器中部署了我的 Django 应用程序。所有静态文件都得到正确服务,但它不接受来自表单输入的媒体文件
问题描述
在提交具有媒体输入的表单时,其显示
[Errno 13] Permission denied: '/home/ubuntu/django/media/pictures'
我在谷歌搜索过,但没有人告诉给予媒体文件的权限,他们都只告诉过静态文件。任何人都可以告诉我我必须使用 chmod no 给它哪些权限。
解决方案
您遇到权限问题。要修复它,您需要允许 Apache 进程访问该文件夹及其内容。
这可以通过以下步骤完成
更改读写权限
chmod 664 /home/ubuntu/django/media/pictures -R
授予 Apache 在(www-data 组)组下运行该文件夹及其内容的组所有权
sudo chown -R :www-data ~/home/ubuntu/django/media/pictures
重启 Apache 服务
sudo service apache2 restart
如果您想确保 Django 的行为正常,您还可以将以下内容添加到您的 settings.py
FILE_UPLOAD_DIRECTORY_PERMISSIONS = 0o755
FILE_UPLOAD_PERMISSIONS = 0o644
推荐阅读
- git - 从 master 创建新分支而不检查它
- android - 无法解析 BottomNavigationView 中的方法“setShiftingMode(Boolean)”
- bash - 我应该如何正确遍历 gitconfig 别名上的列表?
- c# - 如果返回将在内部,将使用销毁数据
- python - 如何使用 Bokeh 动态隐藏字形和图例项
- amqp - Esper AMQPSource 未收到事件
- gtk3 - 如何摆脱标题栏添加到基本操作系统中的非 gtk 应用程序
- android - aapt2 错误:检查日志以获取详细信息
- javascript - Ember - 初始加载时 hasMany 关系中没有数据
- python - Scala 案例类的 Python 等价物