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

时间:2017-03-01 09:18:54

标签: django django-templates django-static

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

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

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

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

感谢您阅读本文

1 个答案:

答案 0 :(得分:3)

如果您想在Django project中使用静态文件,则必须实现以下几个步骤:

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

确保django.contrib.staticfiles

中有INSTALLED_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/