Google App Engine:创建电子商务网站

时间:2014-02-18 20:33:55

标签: python google-app-engine e-commerce

我正在使用Google App Engine和Python开发电子商务网站。现在,由于它是一个电子商务网站,我们将展示数十种产品,每种产品都有自己的网页。现在,我的问题是,如果我们的服务器上有大约400个网页,它不会让网站变得笨重吗?这不会影响用户体验吗?

我们如何管理Google App Engine上的400多个网页?是否有一些我不知道的事情,即使在服务器上托管多个网页,使网络应用程序不那么笨重?

1 个答案:

答案 0 :(得分:1)

您可以使用webapp2框架并从数据存储区获取产品信息并使用模板进行渲染。您为自己的产品制作实体,例如

class Product(db.Model):

    tags = db.ListProperty(db.Category)
    category = db.CategoryProperty(verbose_name='Category')
    title = db.StringProperty(verbose_name='title')  # required
    text = db.TextProperty(verbose_name='text')

然后你有一个使用webapp2,flask,bottle或类似物的处理程序类来获取你的产品数据并用例如jinja 2模板引擎渲染它。

class ProductHandler(BaseHandler):

    def get_product(self, key):
        data = memcache.get(key)
        if data is not None:
            return data
        else:
            data = Product.get_by_id(long(key))
            memcache.add(key, data, 6000)
            return data

    def get(self, id, html):
        product= self.get_product(id)
        if not product:
            self.error(404)
            return

        self.render_jinja(
            'view_product',
            product=product)

然后在您的模板中,您可以使用view_product.html上的变量,例如

 {{product.title}

使用webapp2的配置对象完成路由(如果您使用烧瓶或瓶子,这将有所不同,但如果您使用烧瓶或瓶子,则无法利用webapp2的附加功能,例如用户模型和i18n)

app = webapp2.WSGIApplication([('/view/(\d+)(\.html?)?', ProductHandler),