(django) 整个项目的静态文件

(django) static file for the whole project

当我使用 {% load static %} 然后将这样的图像添加到我的模板时:

<img src="{% static 'logo.png' %}">

只有当图像存储在同一个应用程序中名为 static 的方向时,我才会获取图像。但我想在整个项目中使用徽标 ,并且在整个项目的模板中使用 。当图像存储在内部项目文件夹中的 static 方向时,它不起作用。


如何为整个项目使用静态文件?以及如何从模板访问它们? (我是一个爱好开发者,所以不在生产中;-)) 我的设置几乎与我创建项目时的设置相同。 (我只是添加了一些额外的模板方向。)


感谢您阅读本文

如果你想在你的Django project中使用静态文件,你必须实现几个步骤:

第 1 步:INSTALLED_APPS 在 settings.py

确保 django.contrib.staticfilesINSTALLED_APPS

第 2 步:STATIC_URL

然后,在 settings.py 文件中你必须这样写:STATIC_URL = '/static/'

现在,在您的 Django 应用程序中,您可以创建一个名为 static 的新存储库并将您的静态元素放入其中。

如果你想调用这个元素:

{% load static %}
<img src="{% static "my_app/example.jpg" %}" alt="My image"/>

第 3 步(你想要什么):STATICFILES_DIRS

如果您有一些不适用于特定 Django 应用程序的静态元素,您可以使用 STATICFILES_DIRS.

您可以在 Django 应用程序存储库旁边创建一个新存储库:static

您将获得:

My_project
|
 __ application 1
|
 __ application 2
|
 __ ...
|
 __ static

在settings.py文件中,请添加:

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

现在,您只需加载静态文件即可访问任何模板中的静态文件:{% load static %}.

请阅读本教程:https://docs.djangoproject.com/en/1.10/howto/static-files/