私はアプリエンジンとPythonの初心者であり、物事がどのように機能するかについての基本的なアイデアを得ようとしています。
マップされたURL(/)が1つあるシンプルなアプリがあります。私が使用しようとしているすべてのクラスは、アプリのベースディレクトリにあります。
これは私のmain.pyです-私がやりたいのは、ミドルウェアクラスを使用して変数をテンプレートに渡すことです。これにより、デバイスの種類に応じてページのさまざまな部分をレンダリングできます。
import webapp2
import jinja2
import os
from useragents import search_strings
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))
class MainPage(webapp2.RequestHandler):
def get(self):
template = jinja_environment.get_template('templates/index.html')
self.response.out.write(template.render())
app = webapp2.WSGIApplication([('/', MainPage)],
debug=True)
class Middleware(object):
@staticmethod
def process_request(request):
"""Adds a "mobile" attribute to the request which is True or False
depending on whether the request should be considered to come from a
small-screen device such as a phone or a PDA
//rest of class is [here][1]
"""