3

PHP は$_SERVER['DOCUMENT_ROOT']、Web サイトのベース URL への参照として持っていますhttp://localhost:8080/。で同じことをする必要がありますjinja2。アプリエンジンでpython 2.7を使用しています。

jinja2でウェブサイトのベースURLを取得するにはどうすればよいですか?

4

2 に答える 2

6

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))
于 2012-12-08T20:33:01.183 に答える
6

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)
于 2012-12-08T17:18:55.560 に答える