我已经在一些教程之后使用bootstrap设置了Django,但即使我在教程中做同样的操作,Django也找不到静态文件。
我的项目具有以下结构:
webshop
shop
migrations
templates
...
static
css
bootstrap.min.css
...
webshop
...
db.sqlite3
manage.py
在数据settings.py中,我添加了
STATIC_URL = '/static/'
在Index.html中,我使用以下代码加载静态文件:
<head>
<title>Webshop</title>
{% load staticfiles %}
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
</head>
但是Django找不到数据bootstrap.min.css。
答案 0 :(得分:3)
在HTML代码中添加
{% load static %}
和你的setting.py添加
STATIC_URL = "/static/"
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
答案 1 :(得分:1)
根据Django文档,您应该在静态文件未绑定到特定应用程序时指定文件夹:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
https://docs.djangoproject.com/en/1.11/howto/static-files/
在你的情况下,它可能是:
STATIC_URL = '/static'/
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/path/to/webshop/static',
]
另请注意上面有关{% load static %}
的@ kiran.koduru评论。这是在Django模板中加载静态文件的正确方法。