我正在学习Django,由于某种原因,我的CSS和图像没有显示出来。我觉得我在HTML
文件中做错了。我认为我的文件正在被正确收集,因为当我在浏览器中插入http://127.0.0.1:8000/static/images/python-logo@2x.png
时,我看到了图像。
这是我的项目树:
mysite
\articles
\static
\articles
\css
\static
\images
\css
default.css
\js
\assets
\admin
\images
python-logo@2x.png
\css
default.css
\templates
base.html
\settings.py
在我的settings.py
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_URL = '/static/'
这是我的base.html
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %} My Base Template {% endblock %}</title>
<link rel="stylesheet" type="text/css" href="{% static "css/default.css" %}">
</head>
<body>
<div id="page">
<div id="sidebar">
{% block sidebar %}
<ul>
<li><a href="/articles/all">Articles</a></li>
<li><a href="/admin/">Admin</a></li>
</ul>
{% endblock %}
</div>
<div id="content">
{% block content %}This is the content area{% endblock %}
<img src="{% static "images/python-logo@2x.png" %}">
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
使用尖括号关闭语法。 现在它已在头部显示问号。
答案 1 :(得分:1)
首先,将您的.less样式表与rel属性设置为&#34; stylesheet / less&#34;
<link rel="stylesheet/less" type="text/css" href="styles.less" />
接下来,下载less.js并将其包含在网页元素的标记中:
<script src="less.js" type="text/javascript"></script>
答案 2 :(得分:1)
正如我在您的Reddit帖子中提到的,您需要将/assets
目录添加到STATICFILES_DIRS
。
我不确定为什么你的assets
和static
个文件存放在不同的目录中(你可能想考虑合并这些资产),但这应该是你当前问题的适当解决方案
答案 3 :(得分:1)
试试这个:
在settings.py
中替换
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
有了这个:
STATIC_ROOT = ''
在模板文件中
替换
{% load staticfiles %}
在模板中使用它。
{% load static %}
注意:将assets文件夹的内容放在静态文件夹中。