我将应用程序上传到生产服务器,但我不明白为什么照片上传无法正常工作。
在我的本地计算机上,一切都很好。
我对cekidor和媒体文件的配置如下所示。
settings.py
INSTALLED_APPS = [
[...],
'ckeditor',
'ckeditor_uploader',
]
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'app/media')
STATIC_ROOT = os.path.join(BASE_DIR, '../static/')
#cekidor data
CKEDITOR_UPLOAD_PATH = os.path.join(MEDIA_ROOT, 'uploads')
CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
CKEDITOR_MEDIA_PREFIX = '/media/ckeditor/'
CKEDITOR_UPLOAD_PREFIX = 'http://media.lawrence.com/media/ckuploads/'
CKEDITOR_RESTRICT_BY_USER = True
CKEDITOR_IMAGE_BACKEND = "pillow"
urls.py
urlpatterns = [
[...],
path('ckeditor/', include('ckeditor_uploader.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在文件 gunicorn-error.log
中可见的错误[...]
Not Found: /media/home/app/app/app/media/uploads/zen404/2019/11/08/projekt-bez-tytuu-81-1.jpg
Not Found: /media/home/app/app/app/media/uploads/zen404/2019/11/10/img21_tliORIo.jpg
Not Found: /media/home/app/app/app/media/uploads/zen404/2019/11/10/img21_tliORIo.jpg
Not Found: /media/home/app/app/app/media/uploads/zen404/2019/11/10/img21_tliORIo.jpg
我的枪支档案
#!/bin/sh
NAME="app"
DIR=/home/app/app
USER=app
GROUP=app
WORKERS=3
BIND=unix:/home/app/run/gunicorn.sock
DJANGO_SETTINGS_MODULE=app_rama.settings
DJANGO_WSGI_MODULE=app_rama.wsgi
LOG_LEVEL=error
cd $DIR
source ../bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DIR:$PYTHONPATH
exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $WORKERS \
--user=$USER \
--group=$GROUP \
--bind=$BIND \
--log-level=$LOG_LEVEL \
--log-file=-
如何开始调试?我不知道为什么这可能行不通。仅显示由cekidor发送的文件。使用admin和models.ImageField上传的普通照片可以正确显示。本地计算机正确显示所有内容(cekidor图像并通过ImageField上传)。
我尝试使用更改文件夹权限
chown -R app:app /home/app/app/app/media/
但这没有帮助。什么会导致此错误。如何调试/修复它。任何帮助将不胜感激。