用户上传图片后,她始终会返回404错误。我认为这是一个Nginx missconfig,但我不确定,经过数小时的搜索后仍然无法理解问题。
这是我的settings.py:
DEBUG = False
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
接下来,我的urls.py:
urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
还有我的Nginx配置文件:
location ^/static/ {
autoindex on;
alias /home/user/mywebsite/site/static;
}
location ^/media/ {
alias /home/user/mywebsite/site/media;
}
这是图片的生成网址:https://www.mywebsite.com/media/CACHE/images/img/venus/758c9f7d70d0c64b5631cc865986de48.jpg(404)
我使用Django Imagekit处理上传的图像。我总是很奇怪地创建了这些URL ...也许ImageKit需要更多的额外配置?
我的静态和媒体目录位于/ mainappdjango / static中,而不位于根目录中。如果我不这样做,则不会加载我的静态对象。图像可以很好地上传到服务器上(我可以通过FTP或SSH访问它)。
您是否知道导致这些404错误的麻烦? :/
非常感谢!
答案 0 :(得分:0)
您的nginx配置错误。必须加些盐。
location /static/ {
alias /home/user/mywebsite/site/static/;
autoindex on;
}
location /media/{
alias /home/user/mywebsite/site/media/;
autoindex on;
}