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

Asq*_*iir 2 django django-templates django-static

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

<img src="{% static 'logo.png' %}">
Run Code Online (Sandbox Code Playgroud)

仅当图像存储在static同一应用程序中的方向上时,我才会获得图像。但是我要在整个项目中使用徽标,并且也要在整个项目的模板中使用徽标。当图像static以内部项目文件夹中的方向存储时,该功能不起作用。


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


谢谢您阅读此篇

Ess*_*sex 5

如果你想使用静态文件在你的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"/>
Run Code Online (Sandbox Code Playgroud)

步骤3(您想要什么):STATICFILES_DIRS

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

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

你会得到 :

My_project
|
 __ application 1
|
 __ application 2
|
 __ ...
|
 __ static
Run Code Online (Sandbox Code Playgroud)

在settings.py文件中,添加:

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    'path_to_static_directory/static/',
]
Run Code Online (Sandbox Code Playgroud)

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

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