繁体   English   中英

Django:无法加载 /static 中的 CSS 个文件

[英]Django: can't load CSS files that are in /static

自从我完成了我的 Django 网站的后端后,我开始添加一些样式。 显示了我的 html 文件,但似乎没有 css 链接到它们,但是当我在 Firefox 中显示源代码时,路径是正确的。

mywebsite/
----blog/
----mywebsite/
----static/
--------css/
------------struct.css
----templates/
--------layouts/
--------errors/
------------404.html
--------html/
------------struct.html

Django 版本: 2.1.7

设置.py:

DEBUG = False
ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
    # other apps...
    'django.contrib.staticfiles',
]

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

网址.py:

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

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

结构.html:

{% load static %}

<!DOCTYPE html>
<html lang="en" dir="ltr">

  <head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width; initial-scale=1.0;">

    <link rel="stylesheet" href="{% static 'css/struct.css' %}">

    <title>test</title>

  </head>

  <body>

    <p>test</p>


  </body>

</html>

结构.css:

p{
    color:red:
}
body{
    background-color:black:
}

通常,静态文件路径应类似于此appname / static / appname / yourfiles,无需更改url模式。

假设您的应用程序名称为Myapp,则css文件的正确路径为

MYAPP /静态/ MyApp的/ CSS / struct.css

要包含静态文件,请在settings.py中添加以下行

STATIC_URL = '/static/'

并在您的html模板中

<!doctype html>
{% load static %}
<link rel="stylesheet" href="{% static 'Myapp/css/struct.css' %}">

如果您在应用程序中包含静态文件,则无需使用

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

您可以参考django文档中的管理静态文件

在settings.py中定义静态根

STATIC_ROOT = BASE_DIR + '/static/'

希望能帮助到你

参考这个

如果你在本地主机上运行这个应用程序,那么如果你错误地将它设置为 False,你可以尝试设置 DEBUG = True,因为它已经为我修复了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM