2012-02-23 14 views
6

私は非常に使いやすいFlaskシステムを使用してアプリケーションを開発しています。私はジンジャーテンプレートを使用して、Flaskのページに対応するリンクを書き出していますこのようなもので定義された:私はプロキシの背後にあるサーバーにテストサーバーから移動したときにこれらのリンクがうまく動作テストサーバでフラスコアプリのルートディレクトリのジンジャー変数

@app.route(/<var1>/<var2>) 
... 
... 

しかし私は、hrefのリンクが考慮されていない問題を取得します私のプロキシによって挿入された余分なディレクトリ名。

#where a link should read: 
server:/myapp/<var1>/<var2> 
# it acually puts out: 
server:/<var1>/<var2> 

私の神社のetemplateは、次のようになりますが、代わりにバックスラッシュを置くのルートディレクトリを指定する変数を配置する方法がある場合、私は疑問に思って。

{% block navigation %} 
{% for record in db.values() %} 
<li><a href="/{{db.name}}/{{record.name}}">{{record.name}}</a></li> 
{% endfor %} 
{% endblock %} 

ご協力いただければ幸いです。ありがとうフラスコチーム!

答えて

6

まず、あなたはurl_for機能(ビュー機能がmyviewと呼ばれていると仮定を使用してURLを生成することができますthis decoratorを持つWSGIアプリケーションは、Flaskが正しいURLを生成するように要求環境を更新します。

+0

ありがとうalex、私は実際にそのスニペットを使用していますが、私は私のテンプレートで生成されたリンクは新しいlocations.thanksで更新されませんでした。 – zach

3

多分あなたはurl_for機能をお探しですか?第二に

<a href="{{ url_for('myview', var1=db.name, var2=record.name) }}"> 

、あなたがリバースプロキシの背後にいる場合、ラップ:@reclosedevが言ったように

<li><a href="{{ url_for('view_func_name', 
         var1=db.name, 
         var2=record.name) }}">{{record.name}}</a></li> 
+2

また、リバースプロキシの背後にある場合は、[this flask snippet](http://flask.pocoo.org/snippets/35 /)。 –

+0

@AlexMorega、おそらくこのスニペットはOP問題の解決策であり、答えとして投稿するべきだと思います。 – reclosedev

+0

ok、ありがとうございました:) –

関連する問題