2

我正在用谷歌应用引擎中的 python 和 jinja2 编写一个网站。我的 html 页面在页面上显示了这个:

Status: 200
Content-Type: text/html;
charset=utf-8
Cache-Control: no-cache
Content-Length: 432

知道这个问题来自哪里吗?另外,为什么 {{ initial_city }} 不显示结果?

我的 main.py 脚本是:

from google.appengine.ext import db
from google.appengine.api import memcache
from models import Deal
import os
import webapp2
import jinja2


#databasestuff
deal = Deal(title='Hello',
        description='Deal info here',
        city='New York')
deal.put()
print deal


jinja_environment = jinja2.Environment(autoescape=True,
    loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')))

class MainPage(webapp2.RequestHandler):
def get(self):
    template = jinja_environment.get_template('index.html')
    self.response.out.write(template.render())


class DealHandler(webapp2.RequestHandler):
def get(self):
    def get_deals(choose_city, update=False):
        key = str(choose_city)
        all_deals = memcache.get(key)
        return all_deals

    choose_city = self.request.get('c')
    try:
        initial_city = str(choose_city)
        choose_city = initial_city
    except ValueError:
        initial_city = 0
        choose_city = initial_city


    template = jinja_environment.get_template('deal.html')
    self.response.out.write(template.render())




class ContentHandler(webapp2.RequestHandler):
def get(self):
    template = jinja_environment.get_template('content.html')
    self.response.out.write(template.render())

app = webapp2.WSGIApplication([('/', MainPage),
                           ('/deal', DealHandler),
                           ('/content', ContentHandler)],
                          debug=True)

我的html页面:

<!DOCTYPE html>
<html>
  <head>
    <title>
      Deallzz: Chosen City: {{ initial_city }}
    </title>
  </head>
  ...
4

3 回答 3

3

要显示 initial_city,请使用 render 方法将变量传递给模板:

self.response.out.write(template.render(initial_city = initial_city))

于 2012-10-01T02:02:50.903 回答
2

它是导致问题的“打印交易”。它在任何 response.write 之前被输出

于 2012-10-01T01:56:08.870 回答
1

这只是 HTML 页面的标题。您应该提供更多关于您现在正在尝试的信息/代码。

于 2012-10-01T01:35:56.880 回答