首页 > 解决方案 > 为什么在 Django 项目中加载了引导程序而我的 CSS 文件没有?

问题描述

我是Python/Django的新手,我正在尝试创建一个小项目。我在Ubuntu 20.04 LTS上运行Python 3.8.2Django 3.0.6

我仍在开发中,所以我正在使用"python manage.py runserver" (debug=True)测试和运行网页。我很难尝试加载自己的CSS样式。

该项目是这样组织的:

PROJECT FOLDER
|   --virtualenv
|   --media
|   --myproject
|   --myapp
    |   --migrations
    |   --templates
        |   --myapp
    |   --static
        |   --favicon
        |   --style
        |   --vendor
            |   --bootstrap
            |   --jquery
|   --templates
    |   --parcials

我在与静态文件相关的“settings.py”(位于“myproject”文件夹中)中有此配置:

INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
    ...
]

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(
    BASE_DIR, '/myapp/static'), )
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

在呈现的html的头部,我有:

{% load static %}
...
<link href="{% static 'favicon/favicon.ico' %}" rel="shortcut icon">
<link href="{% static 'vendor/bootstrap/css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'vendor/bootstrap/css/theme_1564087106285.css' %}" rel="stylesheet">
<link hrel="{% static 'style/index.css' %}" rel="stylesheet" type="text/css">

index.css”位于样式文件夹内,它只有一个类选择器

.style-v1 {
  font-size: x-large;
  background-color: blue;
}

html body中,我只是尝试测试css加载:

<div class="style-v1">
    CSS loading test
</div>

我不知道我是忘记了什么还是有什么问题,我在PYTHON/DJANGO/HTML/CSS中仍然很新鲜,但是引导程序以及favicon“index.css”都可以正常工作未加载,我在Chrome 开发工具的网络选项卡中检查了它。

我为任何错字道歉,或者如果我的描述不足以完全理解问题,我也是这个社区的新发布问题。如果有人能帮我解决这个问题,我将不胜感激。

我最诚挚的问候!

编辑:@Anoop K George,找出问题所在,这是链接属性“href”中的错字,显然我没有注意到我输入了“hrel”。

标签: pythonhtmlcssdjangostatic

解决方案


根据 Django 约定,在静态文件夹中的应用名称中创建一个文件夹,并将所有静态文件移动到其中。

项目文件夹

|   --virtualenv
|   --media
|   --myproject
|   --myapp
    |   --migrations
    |   --templates
        |   --myapp
    |   --static
        |   --myapp
          |   --favicon
          |   --style
          |   --vendor
            |   --bootstrap
            |   --jquery
|   --templates
    |   --parcials

推荐阅读