3

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

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

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


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


谢谢您阅读此篇

4

1 回答 1

7

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

第 1 步:在 settings.py 中安装 INSTALLED_APPS

确保你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/

于 2017-03-01T14:58:23.573 回答