【问题标题】:Adding an image into a django template from the static folder - Django从静态文件夹中将图像添加到 django 模板中 - Django
【发布时间】:2018-03-18 01:32:40
【问题描述】:

我有一个 Django 模板,我想从我在应用程序中的静态文件夹中将静态图像添加到文件中。 我正在尝试,但模板上没有出现任何内容。

有人知道我的错误来自哪里吗?

这是我的代码:

{% extends "base.html" %}

{% block content %}
<div class="row">
  <div class="col">
    <img src="static/images/Artboard1.png" alt="">
    <h2>{{ currentUser.username }}</h2>
  </div>

  <a href="{% url 'logout' %}">Logout</a>
{% endblock %}

这是我的目录的图片:

【问题讨论】:

  • 你要在哪个 python 文件中添加它?
  • 首先,您需要一个绝对路径:/static/images/Artboard1.png。另外你是如何配置静态文件的?这是开发还是生产?

标签: django django-templates


【解决方案1】:

在扩展后将staticfiles标签加载到模板

{% extends "base.html" %}
{% load staticfiles %}

然后在img HTML标签的src属性中使用

<img src="{% static 'images/Artboard1.png'%}" alt="">

【讨论】:

  • @Sandeep 它也适用于{%load static %}。
【解决方案2】:

在你的setting.py中配置以下设置

STATIC_ROOT = os.path.join(BASE_DIR,"static_files")
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

并在您的模板中使用

<img src="{% static 'images/Artboard1.png'%}" alt="">

希望对你有帮助

【讨论】:

  • 我隐含了你拥有的代码并收到了这条消息Invalid block tag on line 6: 'static', expected 'endblock'. Did you forget to register or load this tag?@nikhilrane
【解决方案3】:

我遇到了同样的问题。我通过将{% load static %} 添加到每个子页面来整理它。

喜欢这里:

{% extends "base.html" %}
{% load static %}

{% block title %}
{{ title }}
{% endblock title %}

{% block hero %}
<picture class="hero__background">
    <img src="{% static 'top_banner.jpg' %}" alt="" srcset="">    
</picture>
{% endblock hero %}

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 2021-01-09
    • 2015-03-29
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多