这个问题已经有了答案:
我在一个数字海洋水滴上建立了一个django网站,但是静态文件似乎是不可访问的。
四处寻找解决方案,我认为问题出在服务器设置(nginx)上,但由于这对我来说是更新的,所以我想在搞糟它之前验证一下。
css放在 django_project/static/css ,无法使用浏览器访问此文件夹:
django_project/static/css
伊帕雷斯 /static/css/style.css在css上显示“404 not found”错误
我刚找到nginx错误日志,它声明在中查找静态文件 django_project/django_project/static/css 这是不存在的。我想这应该在settings.py中更正。我说的对吗?
django_project/django_project/static/css
settings.py静态:
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static')
网络服务器将查看 /静态/ 位置,您需要提供虚拟路径/静态/到物理路径的映射,并授予每个人访问权限。
需要以下设置才能放入Web服务器配置文件。将“/opt/tutor/static/”替换为os.path.join(base_dir,“static”)的值。
Alias /static /opt/tutor/static/ Alias /media /opt/tutor/media/ <Directory /opt/tutor/static/> Require all granted </Directory> <Directory /opt/tutor/media/> Require all granted </Directory>
把上面的东西放在街区里面。如果不需要ipaddress/media/url,请删除媒体设置。
这是您第一次尝试将网站部署到生产环境中吗?
如果您使用“python manage.py runserver”在本地运行站点,那么只要文件路径匹配,您的设置看起来就可以,但是如果您在生产环境中尝试为静态文件提供服务,则需要以不同的方式为它们提供服务,我个人使用whitenoise从web服务器本身执行此操作。
文档: https://djangobook.com/serving-files-production/