Python 在Django模板中使用静态文件

Python 在Django模板中使用静态文件,python,django,django-templates,Python,Django,Django Templates,我正试图让媒体目录中的文件显示在HTML模板上。我正在使用“Tango with Django”这本书作为教程 这是我的设置。py: MEDIA_DIR = os.path.join(BASE_DIR, 'media') MEDIA_ROOT = MEDIA_DIR MEDIA_URL = '/media/' def about(request): return render(request, 'rango/about.html', ) 下面是视图.py: MEDIA_DIR

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

这是我的
设置。py

MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
  def about(request):

    return render(request, 'rango/about.html', )
下面是
视图.py

MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
  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>

{%load staticfiles%}
关于
这是关于页面

我知道我一定错过了一些非常明显的东西,但我一辈子都想不出来

已弃用
{{MEDIA\u URL}
标记。而是使用标签

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

我认为问题应该是格式上的错误。 请尝试以下两个修订: 1.在render()中,删除最后一个逗号,将“return render(request,'rango/about.html')”更改为“return render(request,'rango/about.html');
2.在你的模板文件about.html中,更改。

我用get\u media\u前缀标记替换了media\u url标记,现在它说我没有注册/加载该标记。对不起,我对此完全是新手。@MatthewSheinberg:我添加了一个指向
get\u media\u前缀
文档的链接。看起来你需要替换
{%load staticfiles%}
使用
{%load static%}
,因为前者也已被弃用。您可能还需要验证您正在阅读的书是否使用了正确的Django版本;当前版本为1.11。您可以使用该版本检查您的版本。