Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 未找到Django全局静态文件_Html_Css_Django_Django Staticfiles_Static Files - Fatal编程技术网

Html 未找到Django全局静态文件

Html 未找到Django全局静态文件,html,css,django,django-staticfiles,static-files,Html,Css,Django,Django Staticfiles,Static Files,我正在尝试为我的项目创建/使用一个全局css文件,它似乎正在解析到正确的位置,但仍然找不到该文件 my settings.py文件的相关部分是: BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(u文件_uu))) STATIC\u ROOT=os.path.join(基本目录'abcdefg') 静态URL='/STATIC/' 静态文件\u目录=[ join(基本目录'static') ] 我在安装的应用程序中有django.

我正在尝试为我的项目创建/使用一个全局css文件,它似乎正在解析到正确的位置,但仍然找不到该文件

my settings.py文件的相关部分是:

BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(u文件_uu)))
STATIC\u ROOT=os.path.join(基本目录'abcdefg')
静态URL='/STATIC/'
静态文件\u目录=[
join(基本目录'static')
]
我在安装的应用程序中有
django.contrib.staticfiles

我的文件结构是:

Project/
├── abcdefg/
│   ├── admin/
│   ├── App/
├── Project/
│   ├── __init__.py
│   ├── settings/
│   ├── urls.py
│   └── wsgi.py
├── App/
│   └── static
│       └── App
│           └── css
│               └── test.css
│   └── __init__.py
│   └── admin.py
│   └── apps.py
│   └── models.py
│   └── views.py
│
├── manage.py
│
├── static/
│   └── base
|       └── css
|           └── test.css
└── templates/
    └── base.html
My base.html的外观如下所示:

{%load static%}
标题{%block Title%}{%endblock%}
{%block content%}
试验
{%endblock%}
当我尝试访问该页面时,出现以下错误:
[08/Feb/2020 11:26:50]“GET/static/base/css/test.css HTTP/1.1”4041683
这表明它指向了正确的位置,但实际上并没有抓取文件。如果我将base.html中的链接href更改为
{%static'App/css/test.css%}
一切正常

我添加了一个STATIC_根映射到的位置,并运行了python manage.py collectstatic,但没有效果

我假设我在文档中忽略了一些愚蠢的东西,但是我基本上遵循了一个T,我没有得到要导入的全局文件


我已经将所有相关文件添加到GitHub中,这样我就不会只显示一点点代码。另外,这不是我的项目的正式回购协议,因此django机密是否可见并不重要。

它应该是STATICFILES\u DIRS,而不是STATICFILES\u DIR。另外,最好将STATIC_ROOT设置为另一个文件夹,这样就不会覆盖全局静态文件。您需要在主项目目录中创建一个名为“static_files”的文件夹,并更改以下两行:

STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
STATICFILES_DIRS = [
    ('global', os.path.join(BASE_DIR, 'static')),
]

然后可以在以下位置加载全局文件:{%static'global/base/css/test.css%}

它应该是STATICFILES\u DIR,而不是STATICFILES\u DIR。另外,最好将STATIC_ROOT设置为另一个文件夹,这样就不会覆盖全局静态文件。您需要在主项目目录中创建一个名为“static_files”的文件夹,并更改以下两行:

STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
STATICFILES_DIRS = [
    ('global', os.path.join(BASE_DIR, 'static')),
]

然后,您将能够在以下位置加载全局文件:{%static'global/base/css/test.css%}

谢谢您,但不幸的是,这并不能解决此问题。我更新了原来的问题以反映这一点。为什么是“abcdefg”?它应该设置为STATIC_ROOT=os.path.join(BASE_DIR,'STATIC/')我没有将它设置为STATIC,因为当我运行collectstatic时,它会提示我覆盖已经在其中的文件。不管怎样,将其更改为os.path.join(BASE_DIR,'static/')似乎也不起作用。收集文件后,静态根文件夹是什么样子的?global.css在吗?谢谢你一直支持我。说去他妈的很容易。我真的很感谢你的帮助。谢谢你,但不幸的是,这并不能解决这个问题。我更新了原来的问题以反映这一点。为什么是“abcdefg”?它应该设置为STATIC_ROOT=os.path.join(BASE_DIR,'STATIC/')我没有将它设置为STATIC,因为当我运行collectstatic时,它会提示我覆盖已经在其中的文件。不管怎样,将其更改为os.path.join(BASE_DIR,'static/')似乎也不起作用。收集文件后,静态根文件夹是什么样子的?global.css在吗?谢谢你一直支持我。说去他妈的很容易。我真的很感谢你的帮助。