我正在构建一个Web应用程序,它将成为现有静态网站的一部分。我更喜欢使用当前站点的页眉和页脚,它们是静态的.inc包含文件。
有没有办法将这些文件包括在内:
{%include'http://www.mysote.com/inc/footer.inc'%}
答案 0 :(得分:2)
在Django中没有内置的方法可以做到这一点,但是你可以自己编写一个非常简单的模板标签(有人已经写过这样的东西了,尽管快速搜索没有不要为我转过身来。如果你想走那条路,你可以快速simple_tag
(在此处记录:https://docs.djangoproject.com/en/1.3/howto/custom-template-tags/#shortcut-for-simple-tags)。它可能就像这样简单:
def include_external(url):
import urllib2
return urllib2.urlopen(url).read()
register.simple_tag(include_external)
{% include_external 'http://....' %}
然而,正如Umang所提到的,这可能存在问题 - 获取包含文件可能会显着增加您的页面加载时间,并且您将保证静态站点中的故障也会降低您的Django应用程序。如果这些事情中的任何一个都成为一个问题,你可以考虑缓存标题 - 然而,这会增加额外的复杂性,你可能更好的只是在每次更新时复制你的头文件。