【问题标题】:(django) static file for the whole project(django) 整个项目的静态文件
【发布时间】:2017-07-20 13:04:21
【问题描述】:

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

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

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


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


感谢您阅读本文

【问题讨论】:

  • 你说的不是真的。任何模板都可以访问静态文件。请显示您的静态设置和项目布局。

标签: django django-templates django-static


【解决方案1】:

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

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

确保您在INSTALLED_APPS 中有django.contrib.staticfiles

第 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/

【讨论】:

    猜你喜欢
    • 2014-11-23
    • 2022-01-12
    • 2020-04-18
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2017-06-08
    • 2015-12-24
    相关资源
    最近更新 更多