📜  在 django urls 中导入静态 (1)

📅  最后修改于: 2023-12-03 14:50:54.139000             🧑  作者: Mango

在 Django URL 中导入静态资源

在 Django 中,我们经常需要使用静态资源,如图片、CSS 和 JavaScript 文件。为了使用这些资源,我们需要在 HTML 文件中声明它们:

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

上面的代码使用了 Django 的静态文件系统来获取 style.css 文件。但是,在这些 HTML 文件中一个一个引入这些资源会很麻烦,因此我们可以在 URL 中导入静态资源。

开始
  1. 创建一个名为 static 的文件夹。在 Django 应用根目录下,创建一个名为 static 的文件夹。假设我们有一个名为 myapp 的应用,可以像这样创建文件夹:myapp/static

  2. 将静态资源放入 static 文件夹中。将需要使用的静态资源放在刚刚创建的 static 文件夹中。例如,我们将 style.css 放在 static/css 文件夹中。

  3. 设置 STATICFILES_DIRS。打开 settings.py 文件,在最后添加以下代码:

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

    上面代码将告诉 Django 静态文件的位置。

  4. 在 URL 中使用静态资源。打开你的 urls.py 文件,使用以下代码:

    from django.conf import settings
    from django.conf.urls.static import static
    urlpatterns = [
        # your url patterns here
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    

    上面的代码将使 Django 自动查找静态资源,无需额外的 STATICFILES_DIRS 配置。

在 HTML 中使用静态资源

在 HTML 文件中,我们可以使用以下方式来引用静态资源:

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

上面的代码将自动查找 myapp/static/css/style.css 文件。

总结

在 Django 中导入静态资源非常简单,只需要将静态资源放入 static 文件夹中即可。再次提醒,为了方便使用,建议在 URL 中导入静态资源,并使用 {% load static %} 标签来引用静态资源。