【发布时间】:2022-07-22 15:02:33
【问题描述】:
遇到一个问题:django 看不到静态文件。特别是css。
这是项目结构:
settings.py (DEBUG = True):
STATIC_URL = '/static/'
STATICFILES_DIRS = []
STATIC_ROOT = os.path.join(BASE_DIR, "static")
aboutus.html
{% extends 'mainapp/base.html' %}
{% load static %}
<html>
<head>
<link type="text/css" href="{% static 'mainapp/css/aboutus.css' %}" rel="stylesheet" /> # здесь aboutus.css pycharm подчеркивает, ибо не видит
</head>
<body>
{% block title %}
О нас
{% endblock %}
{% block content %}
<div id='div1'>
<span id='span1'>▼</span> Кто мы такие?</div>
<div id='div2'>
1 <span class='span2'>2</span>3
<span class='span2'>4 </span><br>
5 <br>
6 <a href="https://www.youtube.com/watch?v=OWycy6WRv7w">7</a>
</div>
{% endblock %}
</body>
</html>
aboutus.css:
#div1 {
font-size: 20px;
text-align: center;
margin-top: 30px;
margin-bottom : 20px
}
#span1 {
font-size: 9pt
}
#div2 {
box-shadow: 0 0 10px rgba(0,0,0,0.5);
background-color: rgb(255,255,255);
border-radius: 5px;
margin-left: 10px;
margin-right: 10px;
line-height: 2.5;
text-align: center;
margin-bottom : 20px;
border: 1px solid gray
}
.span2 {
color: red
}
urls.py
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
'django.contrib.staticfiles' in INSTALLED_APPS 是。我用的是mac os。
【问题讨论】:
-
将css文件夹移动到静态,mainapp不是必须的,必须是
/static/css/startpage.css -
它没有帮助我
-
我的应用程序的文件夹结构与您的相似,但我使用反斜杠
<link rel="stylesheet" type="text/css" href="{% static 'mainapp\css\startpage.css' %}"/> -
它也不起作用
-
STATIC_URL 指向 /static/ 的基本目录,但这与您的目录结构不匹配。出于多种原因,我实际上更喜欢在项目根目录中构建一个静态文件夹,并且它在开发和生产环境中都运行良好。在项目根目录中创建一个静态文件夹,将所有的 css 文件复制到那里(只删除原始 css 位置新路径有效)。
标签: python html python-3.x django static