为啥css文件不适用于html文件 - Django

Posted

技术标签:

【中文标题】为啥css文件不适用于html文件 - Django【英文标题】:Why doesen't css file apply on html file - Django为什么css文件不适用于html文件 - Django 【发布时间】:2019-01-17 01:22:19 【问题描述】:

我有一个问题,我的 .css 文件不适用于 Django 中的 .html 文件。但是,例如,当我键入 . .html 文件中的一些类名,pycharm 让我完成类名。所以,我认为它是正确的。

不管怎样,我把我的设置文件放进去:

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

运行python manage.py collectstatic 成功并使用命令将我的 .css 文件添加到 .html:

% load staticfiles %
<link rel="stylesheet" type="text/css" href="% static 'base.css' %"/>

在我的项目中,我有这样的东西:

-website
   -static
        -admin (generated when I run the command above)
        -images
        -base.css
    -templates
        -navbar.html
        -base.html
     -app1
     -app2
     -etc

出于测试目的,我只是将简单的 div 放在 .html 文件的头部:

 <div class="example">jvhgbhjgf</div>

在 .css 文件中:

.example  background-color: red; border-radius: 15px;

【问题讨论】:

【参考方案1】:

在您的 urls.py 文件中添加以下代码:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns [ ... ]

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

【讨论】:

还是一样,什么都没发生。 :( 在我完成了您在之前回复中所写的操作后,我可以访问,但仍然没有应用于 .html 文件。 重启服务器成功!谢谢你,你让我开心! :) 我还有一个问题.. 现在在每个应用程序中,我应该创建目录:static/static_dirs/name_of_app/my css 文件并在 .html 文件中链接它:% load staticfiles % 我问这个,因为这种方法在我的应用程序中不适合我【参考方案2】:

更改您的 settings.py 文件,如下所示:

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

STATICFILES_DIRS = (
    os.path.join(BASE_DIR), 'static', 'static_dirs'),
    )

和目录树:

-website
-static
    -static_root
        -admin (generated when I run the command above)
    -static_dirs
        -images
        -base.css
-templates
    -navbar.html
    -base.html
 -app1
 -app2
 -etc

在 static_dirs 文件夹中添加 base.css 文件。

【讨论】:

以上是关于为啥css文件不适用于html文件 - Django的主要内容,如果未能解决你的问题,请参考以下文章

ConvertAPI:将 HTML 转换为 DOCX 不适用于网格 css

为啥“位置:粘性”不适用于 Core UI Bootstrap CSS

为啥 :hover 不适用于指定的类

为啥 formData 不适用于多个文件?

CSS 不适用于 DOMPDF

为啥类似结构的文件夹不适用于 Zeppelin?