我正在尝试找到一种方法,如何告诉 Django
存储 static
文件(如 css
)的位置。问题是它可能找不到 static
文件夹。我已经设置了 settings.py
文件,但它没有帮助。
设置.PY:
STATIC_URL = '/static/'
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
)
基础.HTML:
...
...
<title>Rozcestník</title>
<!-- Bootstrap core CSS -->
{% load static %}
<link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
...
问题出在哪里?
最佳答案
我不太喜欢你的目录(结构)。
如果文件夹“web”是一个应用程序而“dedo”是一个包含设置的文件夹,那么您的应用程序文件夹中不能有文件夹“static”和“templates”。
应该是:
dedo
__init__.py
settings.py
urls.py
views.py
static
css
bootstrap.min.css
templates
base.html
index.html
web
migrations
__init__.py
admin.py
models.py
tests.py
views.py
db.sqlite3
manage.py
在你的 settings.py 中你需要这样写:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_URL = 通过浏览器访问您的静态文件
STATICFILES_DIRS = Django 将在何处查找静态文件
重要提示:
STATIC_ROOT = ONLY 如果您要通过适当的网络服务器(nginx、apache、...)和 WSGI(gunicorn、modwsgi、...)部署您的网络应用程序,则使用
“python manage.py collectstatic”或“python3.X manage.py collectstatic”是将静态文件从 STATICFILES_DIRS(加上/admin/的静态文件)复制到 STATIC_ROOT 的命令,这意味着 STATIC_ROOT 不能是与 STATICFILES_DIRS 相同。
关于python - Django 找不到 css(静态文件夹),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34482815/