1

私はアプリエンジンと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]
    """
4

1 に答える 1

1
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):
    #i don't know if you want to overwrite self.request but here it is
    self.request = Middleware.process_request(self.request)
    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]
    """
于 2013-01-15T13:51:46.593 に答える