尽管路径正确,但Django中的静态文件仍无法正常工作(404)



html页面出现而没有任何样式或图像,因为在django中找不到静态文件

负载:

{%  load staticfiles %}

这是静态调用:

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

URL设置:

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

,所以让我给您一个工作的样本。您的settings.py可能像这样

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

在这里,我的项目根中有一个名为" static"的文件夹,其中包含诸如'css','js'等文件夹等。您还需要在urls.py中进行设置,以便可以访问它模板。所以我会这样做:

    from django.contrib import admin
    from django.urls import path
    from django.conf.urls.static import static
    from django.conf import settings
    urlpatterns = [
        path('', user_login),
        path('admin/', admin.site.urls), 
    ] 
    urlpatterns += staticfiles_urlpatterns()

然后在HTML页面的顶部,导入静态文件

{% load static from staticfiles %}
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css'%}">
<link rel="stylesheet" href="{% static 'css/style.css'%}">

我希望这会有所帮助

您给了static_url的基本路径。

尝试以下设置:

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

对于Django 2.0,在HTML中加载静态文件需要新的加载语法:

{% load static %}

最新更新