私のアプリには、画像の大きなフォルダー構造が含まれています。本番環境では、イメージは CDN から提供されます。開発では、開発サーバーで利用可能なイメージの小さなサンプルがあります。
url_for
/static フォルダーからファイルを提供するために使用することに慣れています。
<img src="{{ url_for('static', filename='images/logo.png') }}"/>
/static フォルダーは、アプリケーションっぽいもの (js、css、ロゴやボタン アイコンなどの画像など、テンプレートに付随するもの) にのみ使用したい
アプリケーションのメイン データは、画像の巨大なレポです。これはソース コードではなく、CDN にあります。
私はこれをしたい:
<img src="{{ url_for('image_repo', filename=viewmodel.imagename) }}"/>
そして、これを次のように翻訳します。
発達:
http://devbox/folder/images/blahblah.png
製造:
http://cdn.domain.com/bucket/blahblah.png
Flask のドキュメントでは、エンドポイント関数の作成について説明しています。エラーが発生するため、正しく実行していません。エラーはこのエンドポイント関数ではなく、url_for にあります。「werkzeug.routing.BuildError」と表示され、次のように表示されます。BuildError: ('image_repo', {'filename': u'blahblah.png'}, None)
これが私のエンドポイント関数です。私はそれが間違っていることを知っています。
@app.endpoint('image_repo')
def image_repo(filename):
# use settings to figure out if this is dev or prod
# then what ????
pass