提问者:小点点

为什么bootstrap加载在Django项目中而我的CSS文件没有加载?


我是Python/Django的新手,我正在尝试创建一个小项目。 我正在Ubuntu20.04 LTS上运行Python3.8.2和Django3.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文件夹中,它只有一个类选择器:

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

在html正文中,我只是尝试用以下代码测试css加载:

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

我不知道是忘了什么,还是出了什么问题,我对python/django/html/css还很陌生,但引导程序运行良好,favicon也很好,“index.css”没有加载,我在Chrome dev Tools的Network选项卡上查看过。

对于任何错别字,或者如果我的描述不足以完全理解问题,我也是这个社区中新的发布问题。 如果有人能帮我解决这个问题,我非常感激。

我最好的问候!


共1个答案

匿名用户

根据Django惯例,在静态文件夹中创建你的应用程序名称中的a文件夹,并将你所有的静态文件移入其中。

项目文件夹

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