Python Django上的静态文件问题

Python Django上的静态文件问题,python,django,static,Python,Django,Static,我从github克隆了一个项目,在那里他们对静态文件使用了一些“特殊配置”,使用“/static/”、“/static\u in_env/”,我不太明白他们为什么这样做,所以我决定将其更改为大多数文档或教程中显示的配置,即以下配置 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_URL = '/static/' MEDIA_URL = '/media/' STATICFILES_DIRS

我从github克隆了一个项目,在那里他们对静态文件使用了一些“特殊配置”,使用“/static/”、“/static\u in_env/”,我不太明白他们为什么这样做,所以我决定将其更改为大多数文档或教程中显示的配置,即以下配置

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'assets')]
STATIC_ROOT = os.path.join (BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
只是为了提供一些额外的信息:

在模板内部,除其他外,我有:

 'DIRS': [os.path.join(BASE_DIR, 'templates')],
该网站看起来读起来还行(ish),因为我的问题是它呈现了模板,但没有css

我还安装了内部应用程序“django.contrib.staticfiles”

在左边,(在vscode上)我有一个名为static的文件夹,它看起来比其他文件夹暗一些(我不知道它是什么意思)

我在用python 3创建的venv上, 当我跑的时候

python --version 
它告诉我我正在使用python 3.6.9,这对我来说似乎没问题

我也已经跑了

python manage.py collectstatic 
以前也曾手动将所有静态文件复制到资产中,因此collectstatic命令将它们放在程序读取它们所需的位置,它告诉我所有文件都已移动(或已收集,我不确定collectstatic之后会显示什么)

这是它找不到的许多静态文件中的一个(从字面上看,它似乎无法进入该文件夹)

[2020-07-17 04:33:31265]日志:警告-未找到:/static/css/style.default.css [17/Jul/2020 04:33:31]“GET/static/css/style.default.css HTTP/1.1”40477

我还尝试了chmod774这个文件夹,并且 它回来了

未找到
在此服务器上找不到请求的资源

最后一件事,我记得我尝试过一个命令,但现在找不到,因为我从某个论坛复制了一个我找不到的命令,但这应该是为了让你知道django实际查找文件的地址, 我只是确定命令中包含了verbose这个词。当我执行它时,django似乎正在读取django安装中的静态文件或venv中的某些内容(尽管我不完全确定,而且由于我还没有找到该命令,如果有人能告诉我,我将不胜感激,我无法确认)

我已经没有主意了,我可以重新启动项目或者再试一次,但这让我很痛苦,因为我在想,到底出了什么问题,我已经仔细检查了每一个部件,但仍然不起作用

  • 静态文件夹与模板文件夹和资产以及应用程序处于同一级别(与manage.py相同)

听起来好像您正试图通过URL访问静态文件

您提到的“智能静态文件”可能使用了第三方资源,如AWS,它提供静态文件。如果要转到localhost:8000/static/file.ext

尝试将其添加到URL.py的底部:

来自django.conf导入设置的

从django.conf.url.static导入静态
urlpatterns+=静态(settings.static\u URL,document\u root=settings.static\u root)

听起来好像您正试图通过URL访问静态文件

您提到的“智能静态文件”可能使用了第三方资源,如AWS,它提供静态文件。如果要转到localhost:8000/static/file.ext

尝试将其添加到URL.py的底部:

来自django.conf导入设置的

从django.conf.url.static导入静态
urlpatterns+=静态(settings.static\u URL,document\u root=settings.static\u root)

谢谢,这就是问题所在,我在开发中将debug设置为false(用于试验),并将那段代码放在url.py中,如果debug:那么它就不工作了。谢谢,这就是问题所在,我在开发中将debug设置为false(用于试验),并将那段代码放在url.py中,如果debug:那么它就不工作了。