python - 在 Django 模板中使用静态文件

标签 python django django-templates

我正在尝试让媒体目录中的文件显示在 HTML 模板上。我使用“Tango with Django”书作为教程。

这是我的settings.py:

MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'

这是views.py:

  def about(request):

    return render(request, 'rango/about.html', )

还有我的 about.html 模板:

<!DOCTYPE html>
{%load staticfiles%}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>About</title>
</head>
<body>
<h1>This is the about page</h1>
<img src="{{MEDIA_URL}} {{cat.jpg}}"
     alt="cats are funny"/>
<div>
    <a href="/rango/"> Index </a>
</div>
</body>
</html>

我知道我一定错过了一些非常明显的东西,但我一生都无法弄清楚!

最佳答案

{{MEDIA_URL}} 标记已弃用。使用{% get_media_prefix %}相反,标签。

<img src="{% get_media_prefix %}cat.jpg" alt="cats are funny"/>

来自文档:

Similar to the get_static_prefix, get_media_prefix populates a template variable with the media prefix MEDIA_URL.

渲染后,src 属性将等同于 /media/cat.jpg。您可能需要考虑在 settings.py 中使用 STATIC_ROOT 以及 {% static %} 标记:

<img src="{% static 'cat.jpg' %}" alt="cats are funny"/>

关于python - 在 Django 模板中使用静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46009123/

相关文章:

python - 带有文本和图标项的 QListWidget

Python psycopg2 - 记录事件

python - Django从外键类中获取属性

css - Django 从模板加载 css

python - 在 Django 模板上显示来自 API 的数据

python - 尝试解析标签时德威治的 NotCommitError

python - SQLAlchemy:带有 GENERATED ALWAYS AS 的 MySQL 列 DDL

sql-server - django-pyodbc:MSSQL unicode 问题

python - 如何在 Django 中通过 Ajax 传递 HttpResponse 和附加数据

django - 渲染时捕获NoReverseMatch:反向使用参数'accounts_profile_view''('和关键字参数',)'的'{}'