FTPサーバー上にいくつかのテンプレートがあり、私のアプリケーションは別のサーバー上で実行されています。 render_template
を使用して、FTPリンクでテンプレートをレンダリングすることはできますか?FTPサーバーに保存されているJinjaテンプレートをレンダリングする
2
A
答えて
3
はい、render_template()
の機能を別のサーバーのテンプレートファイルに使用できます。リンクからリモートテンプレートを取得するloaderを作成します。この例ではHTTPサーバーを使用していますが、UrlLoaderコンストラクターに渡されたURLを変更することでFTPサーバーを使用できます。このような
from flask import Flask, render_template
from jinja2 import BaseLoader, TemplateNotFound
from urllib import urlopen
from urlparse import urljoin
class UrlLoader(BaseLoader):
def __init__(self, url_prefix):
self.url_prefix = url_prefix
def get_source(self, environment, template):
url = urljoin(self.url_prefix, template)
try:
t = urlopen(url)
if t.getcode() is None or t.getcode() == 200:
return t.read().decode('utf-8'), None, None
except IOError:
pass
raise TemplateNotFound(template)
app = Flask(__name__)
app.jinja_loader = UrlLoader('http://localhost:8000/')
@app.route('/')
def root():
return render_template('hello.html')
if __name__ == "__main__":
app.run(debug=True)
+0
ありがとうございます! –
+0
この方法ではいくつかの問題があります。私のファイルと私のURLが本当に存在し、何が間違っているのかわからないときは404エラーになります。どの方向に私がこの問題を解決する方法を見つけることができるかを教えてください。どうもありがとう。 –
関連する問題
- 1. JinjaでHTMLにレンダリングされたファイルに改行を保存する
- 2. エンティティプロパティのレンダリング時にJinjaテンプレートが破損する
- 3. FTPサーバー上のtxtファイルに文字列を保存する
- 4. Ajaxとjinjaを使用してPOSTリクエスト後にテンプレートをレンダリングする方法
- 5. NodeJSでサーバー側のレンダリングされたテンプレートをロードする
- 6. FTPサーバーからExcelファイルを取得してGoogleドライブに保存する
- 7. 保存されている字体HTMLがレンダリングされていません
- 8. Xcode 8テンプレートはどこに保存されていますか?
- 9. は私が保存されているAPIを持つサーバー
- 10. サーバー側レンダリングHTMLテンプレート
- 11. レンダリングされていない角度データテーブルにテンプレートを含める
- 12. djangoのオブジェクトがデータベースに保存されていて、djangoの管理者に表示されていますが、djangoのテンプレートにレンダリングされていません
- 13. どのようにC#のFTPサーバーで画像を保存するには?
- 14. Jinjaフィルターの結果を保存
- 15. 既に保存されているvarをSelenium IDEに保存
- 16. ローカルに保存されたビデオがWebVRでレンダリングされない
- 17. フラスコのテンプレートをレンダリングした後のJinja要素を更新する
- 18. レンダリングされたフォントを保存するには?
- 19. JINJAテンプレートを区画化する
- 20. テンプレートに含まれるテンプレート内のJinjaブロックを上書きする
- 21. Herokuの写真はサーバーに保存されています
- 22. php、サーバーに保存されているphpfileにローカルファイルを含めます。
- 23. 青写真テンプレートからベースフラスコJinjaテンプレートを拡張するには?
- 24. Wordpressカスタム投稿タイプ - 投稿属性:テンプレート。テンプレートが表示され、バックエンドに保存されますが、デフォルトのテーマファイルがレンダリングされています
- 25. json to ftp dirを保存する
- 26. テンプレートがレンダリングされていません
- 27. iPhoneに保存されている既存の保存されたNSMutableArrayに新しいデータを追加する
- 28. Flask/Jinja2には、デバッグ中にレンダリングされたテンプレートを保存する手段がありますか?
- 29. AngularJS:Videogularテンプレートを取得$ templateCacheに保存されている404は、エラー
- 30. 神殿にアップロードされたS3に保存されたMarkdownファイルをレンダリングする
: 'render_template(「FTPファイルリンク」)' 私はたぶん私はFTPファイルの内容を読み取ることができることを見つけようと、私はそれが良い方法ではないと思います。 私はrender_templateに関するドキュメントを読んだことがありますが、これを行う方法はないようですが、この問題を解決する方法はありますか? ありがとう –