我是Django的新手,现在我有加载css文件的问题。 我的windows系统中有以下目录树:
案例1:
.
|__myproject
|__+myproject
|__+myapp
|__-static
| |___-css
| |__style.css
|__-templates
|__base.html
base.html=>;
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link href="{% static "css/style.css" %}" rel="stylesheet">
</head>
<body>
# ...
</body>
</html>
settings.py=>;
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIR = os.path.join(BASE_DIR, "templates")
STATICFILES_DIR = os.path.join(BASE_DIR, "static")
STATIC_URL = '/static/'
STATICFILES_DIRS = [
STATICFILES_DIR,
]
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
# ...
]
TEMPLATES = [
{
# ...
'DIRS': [TEMPLATE_DIR,],
# ...
},
]
使用这些设置和配置,CSS文件无法加载。
但当我将目录树更改为:
案例2:
.
|__+myproject
|__+myapp
|__-static
| |__style.css
|__-templates
|__base.html
和base.html=>;
# ...
<link href="{% static "style.css" %}" rel="stylesheet">
# ...
现在起作用了。
那么案例一有什么问题呢? 这里少了什么?
请在您的设置中添加这些行。py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
您编写了一些不方便的编码。
应该是第一行。 则{%load static%}
2.使用不同类型的引用。 (“”和“”)表示href和static。
3.在链接中使用type=“text/css”。 像这样-
<link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css">
*在您的代码中,计算机事物(“{%static”)和(“%}”)是两个单独的字符串,因此style.css
不在语法中。 对于这种特殊情况(引号中的引号),python同时支持(“”)和('')(请参阅文本颜色)*
希望能帮上忙。谢谢。