找不到Django静态文件

时间:2018-10-27 04:11:48

标签: django django-staticfiles

我正在努力使用Django 2.1中的静态文件应用程序。

使用django-admin findstatic查找文件:

$ sudo python3 /opt/bitnami/apps/django/django_projects/Project/manage.py findstatic --verbosity 2 leaflet/leaflet.css
Found 'leaflet/leaflet.css' here:
  /opt/bitnami/python/lib/python3.6/site-packages/leaflet/static/leaflet/leaflet.css

使用下面的URL,我的浏览器显示“在此服务器上找不到所请求的URL /Project/static/leaflet/leaflet.css。”

http://myserver/Project/static/leaflet/leaflet.css

但是,使用其他目录中的其他文件:

$ sudo python3 /opt/bitnami/apps/django/django_projects/Project/manage.py findstatic --verbosity 2 admin/css/fonts.css
Found 'admin/css/fonts.css' here:
  /opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/admin/static/admin/css/fonts.css

可以在浏览器中使用url访问该文件:

http://myserver/Project/static/admin/css/fonts.css

Edit1:如果我在/opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/admin/ static / admin /,例如file.txt,我可以立即通过网址http://myserver/Project/static/admin/file.txt

访问它

Edit2:访问http://myserver/Project/static/admin/会显示403错误,而访问http://myserver/Project/static/leaflet/会显示404错误

如何解决此问题?

我使用DJANGO 2.1

我的settings.py:

STATIC_URL = '/Project/static/'

谢谢。

1 个答案:

答案 0 :(得分:0)

我发现了问题。我希望对大家有帮助:我的apache conf文件有一个别名,指向/opt/bitnami/apps/django/lib/python3.6/site-packages/Django-2.1.1-py3.6.egg/django/contrib/ admin / static。这就解释了为什么可以访问admin下的静态文件。我进行了更改,因此它指向我的STATIC_ROOT:

Alias /Project/static '/opt/bitnami/apps/django/django_projects/Project/staticfolder/'
<Directory /opt/bitnami/apps/django/django_projects/Project/staticfolder>
Require all granted
</Directory>