既存の静的なWebサイトの一部となるWebアプリケーションをビルドします。私は静的な.incインクルードファイルである現在のサイトからヘッダとフッタを使いたいと思う。Django:外部インクルードファイルを含む
これらのファイルを含める方法のようなものがあります:
{%が 'http://www.mysote.com/inc/footer.inc' %を含ん}
既存の静的なWebサイトの一部となるWebアプリケーションをビルドします。私は静的な.incインクルードファイルである現在のサイトからヘッダとフッタを使いたいと思う。Django:外部インクルードファイルを含む
これらのファイルを含める方法のようなものがあります:
{%が 'http://www.mysote.com/inc/footer.inc' %を含ん}
ありませんDjangoでこれを行うための組み込みの方法ですが、それはあなた自身で書くための本当に簡単なテンプレートタグになります(クイック検索では私のためにそれを立てられませんでしたが、 。そのルートに行きたい場合は、すぐにsimple_tag
(https://docs.djangoproject.com/en/1.3/howto/custom-template-tags/#shortcut-for-simple-tagsに記載されています)でそれを行うことができます。 Umangが述べたように、しかし、
def include_external(url):
import urllib2
return urllib2.urlopen(url).read()
register.simple_tag(include_external)
{% include_external 'http://....' %}
それは潜在的に問題がある - ファイルを含めるフェッチはおそらく大幅にあなたのページの読み込み時間が長くなり、あなたはその失敗を保証します:それはおそらくのようなもののような単純なものでしたあなたの静的なサイトでも同様にあなたのDjangoのアプリケーションをダウンされます。これらの事のいずれかが気になる場合は、ヘッダーのキャッシュを見ることができますが、それは複雑さが増し、ヘッダーファイルを更新するたびにコピーするほうがよいでしょう。
私は、サーバーがクライアントではなくファイルを取得したいと思っています。いずれにしても、ファイルをダウンロードするのに時間がかかることがあり、そのサーバーがダウンしている場合は、より多くの問題があります。私はあなたがファイルをダウンロードし、それをテンプレートディレクトリに入れてから定期的にインクルードすることをお勧めします。 – Umang