Django:未应用CSS

时间:2019-05-02 07:35:17

标签: html css django django-templates

我已将所有CSS文件放在static/css文件夹中。我的设置是:

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
MEDIA_URL='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

虽然媒体文件正常工作,并且还显示了static/images文件夹中保存的图像,但CSS样式没有出现。对于每个页面,我都在创建一个CSS文件,将其放在static/css文件夹中,并按如下方式调用它:

{% load static %}
<head>
 <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.min.css' %}">
 <link rel="stylesheet" type="text/css" href="{% static 'css/getting-started.css' %}"> <--this
</head>

getting-started.css文件:

h3{
  text-align: left;
}

p {
 font-family: verdana;
 font-size: 20px;
}

尽管bootstrap.min.css在工作,但是CSS在工作。

3 个答案:

答案 0 :(得分:0)

尝试在STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]中给出完整路径

例如STATICFILES_DIRS = [os.path.join(BASE_DIR, 'accounts/static')]

在我的情况下,我的应用程序名称是accounts,然后是其中的静态文件夹。

答案 1 :(得分:0)

您必须先收集所有静态文件,然后才能将其加载到模板中

manage.py collectstatic

答案 2 :(得分:0)

如果您正在开发转向DEBUG = False,请尝试检查以下内容:https://docs.djangoproject.com/en/2.2/howto/static-files/#deployment

如果您正在开发转向DEBUG = True并仍然遇到问题,请遵循以下方法。

  1. 使用您的应用程序名称在静态文件夹中创建一个文件夹。将文件夹css移到此位置并更新href,以使新的href =“ {%static'appname / css / getting-started.css'%}”

之后将设置更新为

Dictionary< int, Question> Questions;
Dictionary< int, Image> Images;

仅需以下代码,您的项目可能还会具有与特定应用程序无关的静态资产。

STATIC_URL = '/static/'

您可以参考:https://docs.djangoproject.com/en/2.2/howto/static-files/#configuring-static-files

  1. 通过使用inspect元素检查渲染的元素来检查css文件是否已加载,以便您可以验证它是否已加载。您使用的css样式可能与html中的元素不匹配。如果已加载,则可以查看以下代码
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]