我正在制作Django应用程序,我需要在模板中嵌入许多外部HTML文件。每个HTML文件都存储在自己的目录中,以及包含所有图像的子目录。文件结构:
Abstract1
Pictures
image1.png
image2.png
abstract1.html
我使用自定义模板标记进行嵌入(参见下文)。我的问题:HTML文件已加载,但链接的资源(例如img)无法正常工作(即它们未被显示)。 HTML文件使用相对网址,与django模板基本路径混合产生无效网址,但即使我使用硬编码绝对网址,问题仍然存在。我觉得我错过了一些明显的东西。是否有一些适当的(或不适当但有效的)方法来克服这种问题?
模板
{% load abstracts_extras %}
<!DOCTYPE html>
<html>
<body style="margin-left:10px">
<h2>{{abstract}}</h2>
<b>Authors:</b><br/>
<ul>
{% for author in authors %}
<li>{{author}}</li>
{% endfor %}
</ul>
<p>
<b>Title: </b>{{abstract.title}}
<p>
<hr>
{% include_external filename|add:'.html' %}
</body>
</html>
abstracts_extras
from django.template import Library
register = Library()
def include_external (url):
url = 'file:///' + url
import urllib2
return urllib2.urlopen (url).read ()
答案 0 :(得分:0)
如果我理解得很好,你的模板会加载但不会像img那样静态。 这将是一个配置错误。 你应该检查Django的settings.py和Apache的httpd.conf,并检查staticfiles是否正确配置。 您是否显示任何错误或仅加载图像(但没有错误)?