Python Django加载静态文件?

Python Django加载静态文件?,python,html,django,Python,Html,Django,Django没有加载我的静态文件。但是,它正在加载静态文件夹中的我的模板。此外,chrome没有看到静态文件,或者我甚至没有收到404错误,是的,它们链接在html中……但是它们没有显示在网络面板中 这是我的settings.py文件 STATIC_ROOT = '' STATIC_URL = '/static/' STATICFILES_DIRS =( os.path.join(BASE_DIR, 'static'), ) 这是我的ht

Django没有加载我的静态文件。但是,它正在加载静态文件夹中的我的模板。此外,chrome没有看到静态文件,或者我甚至没有收到404错误,是的,它们链接在html中……但是它们没有显示在网络面板中

这是我的settings.py文件

    STATIC_ROOT = ''

    STATIC_URL = '/static/'

    STATICFILES_DIRS =(
         os.path.join(BASE_DIR, 'static'),
     )
这是我的html

    <head>
        <title>MySite | Home</title>
        <meta charset="UTF-8">
        <link rel="stylesheet" type='text/css' src='css/normalize.css'>
        <link href='http://fonts.googleapis.com/css?family=Questrial|Josefin+Sans' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" type="text/css" src='css/main.css'>
        <script src="https://maps.googleapis.com/maps/api/js"></script>
    </head>

MySite | Home

对不起,我知道这个问题已经被问了很多次,我已经尝试了所有这些解决方案,但都没有成功。我花了两天的时间试图弄明白这一点,我对静态文件采取的方法基本上就是本文中概述的方法

在本地开发中,只要
Django.contrib.staticfiles
在您的
安装的应用程序中,并且
DEBUG=True

我的项目结构通常如下所示:

my_project/
    some_app/
    lib/
    static/  <------- STATIC_ROOT - used in production. `collectstatic` collects here
    static_assets/ <- STATICFILES_DIRS - used in local dev
        css/
        less/
        js/
        images/
    templates/  <---- TEMPLATE_DIRS
    manage.py
然后,在模板中,您可以再次使用staticfiles应用程序的模板标记构建静态文件的路径:

{% load static from staticfiles %}

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

还请注意,对于
标记,您需要对url使用
href
属性,而不是
src

在setting.py文件中添加以下内容

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

在你的应用程序中创建一个名为static的文件夹,并在模板文件中添加这个{%load static%}

为什么你的模板会在static文件夹中?@DanielRoseman有那么糟糕吗?我看的一个教程就是这样做的,对他们来说哪里会是更好的地方?我几乎不知道如何回应。这些是完全不同的事情。我非常怀疑任何一个像样的教程都能做到这一点。无论如何,你没有提供足够的信息来回答这个问题。你在做开发吗?调试是正确的还是错误的?为什么您的
STATIC\u ROOT
是空的?您是否运行过
manage.py
?模板目录的值是多少?为什么要使用相对路径来指向模板中的CSS文件?@Groovietunes我的意思是绝对没有冒犯的意思,但是丹尼尔,我对你评论的第一句话笑得很厉害;这让我很高兴。@Groovietunes您肯定不想将Django模板放在静态目录中,除非它们是您正在利用的模板,例如下划线。非常感谢!该问题出现在HTML文档load static中,href修复了该问题。我想最好是一字不差地遵循文档!
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')