PHP は$_SERVER['DOCUMENT_ROOT']
、Web サイトのベース URL への参照として持っていますhttp://localhost:8080/
。で同じことをする必要がありますjinja2
。アプリエンジンでpython 2.7を使用しています。
jinja2でウェブサイトのベースURLを取得するにはどうすればよいですか?
PHP は$_SERVER['DOCUMENT_ROOT']
、Web サイトのベース URL への参照として持っていますhttp://localhost:8080/
。で同じことをする必要がありますjinja2
。アプリエンジンでpython 2.7を使用しています。
jinja2でウェブサイトのベースURLを取得するにはどうすればよいですか?
webapp2では、次のように、リクエストのホスト部分を取得し、それをjinjaテンプレートの引数として渡すことができます。
class YourHandler(webapp2.RequestHandler):
def get(self):
params = {'url':self.request.host}
template = jinja_environment.get_template('your_template.html')
self.response.write(template.render(params))
webapp2
に基づいていWebOb
ます。彼らのドキュメントから
WebOb は、WSGI 要求環境のラッパーと、WSGI 応答の作成を支援するオブジェクトを提供する Python ライブラリです。オブジェクトは、ヘッダー解析、コンテンツ ネゴシエーション、条件付きおよび範囲要求の正しい処理など、HTTP の指定された動作の多くをマップします。
アプリケーション URLへのアクセスは、ハンドラー内のオブジェクトによって有効になりrequest
、属性を介してアクセスできますapplication_url
。
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write(self.request.application_url)