Я развернул проект Django в Ubuntu 16.04 с Nginx и Gunicorn.Я получил все, включая статические файлы, но мои медиа-файлы не будут работать должным образом.
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
models.py
resume_upload = models.FileField(blank=False, upload_to='resumes', null=True, validators=[FileExtensionValidator(allowed_extensions=['pdf']), validate_file_size])
Что яперечислил в / etc / nginx / sites-available / is
server {
listen 80;
server_name website.com www.website.com ;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/syed/btawebsite;
}
location = /media/ {
root /home/syed/btawebsite;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/syed/myproject.sock;
}
}
Я хотел бы зайти к администратору, щелкнуть по загруженному файлу и иметь возможность просмотреть файл вбраузер.У кого-нибудь есть идеи, как мне этого добиться?Используя терминал и просматривая каталоги, я подтвердил, что файлы фактически добавляются в ~ btawebsite / media / resumes, но я не могу просмотреть их, когда нажимаю URL-адрес администратора.
Когда я нажимаю напо этому URL я получаю сообщение об ошибке:
Не найдено Запрошенный ресурс не найден на этом сервере.
Обновление:
Я изменил настройки.py to
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static/'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
И настройки nginx на
location /static/ {
alias /home/syed/btawebsite/static/;
}
location = /media/ {
alias /home/syed/btawebsite/media/;
}
Статика все еще работает, однако, носитель не работает.