django中的静态文件不起作用(404),尽管路径正确

时间:2019-02-15 07:26:44

标签: django django-templates

由于未在Django中找到静态文件,因此html页面显示没有任何样式或图像

负载:

{%  load staticfiles %}

这是静态调用:

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

网址设置:

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

2 个答案:

答案 0 :(得分:1)

您提供了Static_url的基本路径。

尝试以下设置:

Django 2.0

对于{% load static %} ,使用html加载静态文件需要新的加载语法:

<img src="<?php echo get_template_directory_uri() . '/images/Logo_Trust_White.png'; ?>" />

答案 1 :(得分:1)

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

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, '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'%}">

我希望这对您有帮助