找不到 Django 静态文件
Django static file not found
我正在努力使用 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,我的浏览器显示 "The requested URL /Project/static/leaflet/leaflet.css was not found on this server.":
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 ,我可以通过 url http://myserver/Project/static/admin/file.txt
立即访问它
Edit2:访问 http://myserver/Project/static/admin/ gives a 403 error whereas accessing http://myserver/Project/static/leaflet/ 出现 404 错误
如何解决此问题?
我使用 DJANGO 2.1
我的settings.py:
STATIC_URL = '/Project/static/'
提前致谢。
我发现了问题。我希望这对某人有所帮助:我的 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>
我正在努力使用 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,我的浏览器显示 "The requested URL /Project/static/leaflet/leaflet.css was not found on this server.":
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 ,我可以通过 url http://myserver/Project/static/admin/file.txt
立即访问它Edit2:访问 http://myserver/Project/static/admin/ gives a 403 error whereas accessing http://myserver/Project/static/leaflet/ 出现 404 错误
如何解决此问题?
我使用 DJANGO 2.1
我的settings.py:
STATIC_URL = '/Project/static/'
提前致谢。
我发现了问题。我希望这对某人有所帮助:我的 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>