【问题标题】:Css not loading in DjangoCss没有在Django中加载
【发布时间】:2020-04-24 10:10:27
【问题描述】:

我的 css 文件没有加载到网页中。我在同一位置有 css 和图像文件。图像正在加载,但没有加载 css。此外,我已将目录包含在 staticfile_dirs 中。 设置.py

DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = [
    'technicalCourse.apps.TechnicalcourseConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'website.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            r'C:\Users\Kesavan\PycharmProjects\Django web development\website\technicalCourse\template'
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'website.wsgi.application'

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
    r'website\technicalCourse\static',
]

这是模板文件

<!DOCTYPE html>
{% load static %}
<head>
<link rel="stylesheet" type="text/css" href="{% static 'css/simple.css' %}">
</head>
<body>
<img src="{% static 'image/img.png' %}">
<h1>Welcome to course on programming</h1>
<ol>
    {% for x in ac %}
    <li><a href="{{x.id}}/">{{x.courseName}}</a></li>
    {% endfor %}
</ol>
</body>

为了测试,我只改变了 h1 标签的颜色。 css 文件。

h1{
color:black;
}

结构

C:.
├───migrations
│   └───__pycache__
├───static
│   ├───css
│   └───image
├───template
│   └───technicalCourse
└───__pycache__

但是网页上没有反射。 希望得到解决方案。 提前致谢。

【问题讨论】:

  • css文件是不是和图片在同一个目录?如果是,为什么要从css/simple.css 加载css 文件,从image/img.png 加载图像?
  • 我在 css 文件夹中有 css,在 img 文件夹中有图像。这两个文件夹都在同一个文件夹下。图片正在加载,但 css 没有。
  • 我已经更新了文件夹结构。
  • I have css in css folder and image in img folder 是什么意思?您只是说这两个文件都在同一个static 目录中,还是在静态文件夹中有名为cssimage 的文件夹。您的文件夹层次结构与您上面的评论相矛盾。
  • @AzyCrw4282 我在静态文件夹中有名为 css 和 image 的文件夹,我也发布了文件结构

标签: python django django-staticfiles


【解决方案1】:

试试这个命令:

python manage.py collectstatic

然后再次检查。

【讨论】:

  • 这只对实时服务器环境有帮助。正常启动就没用了。
【解决方案2】:

很奇怪images 正在工作而CSS 没有。您的问题可能有多种可能性。

解决此问题的最简单方法是通过absoluterelative 路径设置CSS 文件的路径。

相对路径案例

<link href="/static/ui/css/base.css" rel="stylesheet">

【讨论】:

  • 我以前试过这个,即使是完整的路径,如 C:\Users\PycharmProjects\Django web development\website\technicalCourse\static\css。仍然面临同样的问题
  • 最后可能的解决方案:尝试将/ 添加到您的链接标签末尾,例如
  • @KrispieeKesavan 这有效吗?如果没有,那么只有专家可以提供帮助
【解决方案3】:

我遇到了同样的问题,但通过添加解决了

{% load static %}
    {
    <link rel="stylesheet" type="text/css" href="{% static 'thumbnail_searcher/style.css' %}">
    }

在同一个标​​签中。例如,在您的情况下,将 loadlink 添加到 &lt;head&gt; 标记中。

【讨论】:

    猜你喜欢
    • 2021-10-16
    • 2021-09-07
    • 2020-03-09
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2013-06-09
    • 2020-07-25
    相关资源
    最近更新 更多