django项目中未加载自定义静态文件



我有一个django项目,我将所有静态文件保存在项目级static目录中。我已经包括

STATIC_URL = "/static/"

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

在CCD_ 4中。因此,我已将+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)添加到项目级别urls.py.中的urlpatters中

我的问题是,有些静态文件加载,而有些则不加载。对于例如,我正在使用django_google_maps,(示例url(http://127.0.0.1:8000/static/django_google_maps/js/google-maps-admin.js加载正确,并且完成了相应的工作。

但是,当我尝试加载我的自定义js/css/any静态文件(例如urlhttp://127.0.0.1:8000/static/images/favicons/favicon.icohttp://127.0.0.1:8000/static/js/image-upload-script.js(时,它们不会加载,并引发django.views.static.serve错误,404未找到。它们就在目录中。我看到第三方包使用的静态文件加载正确,但不是我的自定义文件。

我缺少的是什么?我们需要其他东西来加载我们的自定义js/css文件吗??是的,我在模板中使用了{% load static %}

我一直在项目级别使用静态文件,而不是应用程序级别。任何新的静态文件,我都直接添加到静态目录中,该目录也是我的静态根目录。根据这个答案,https://stackoverflow.com/a/12161409/5379191,

"您的STATIC_ROOT目录应该是空的,所有静态文件都应该收集到该目录中(即,它不应该已经包含静态文件(;。所以,最重要的是它不应该已经包含静态文件。

我在项目级目录中创建了一个新的静态文件文件夹,将我的自定义静态文件转移到该目录,运行collectstatic命令,然后启动它。因此,这里要记住的主要事情不是直接将静态文件放在静态根目录中,而是让collectstatic完成它的工作。

添加这个对我有效:

MEDIA_URL='/static/images/'

最新更新