我正在使用Google App Engine和Python开发电子商务网站。现在,由于它是一个电子商务网站,我们将展示数十种产品,每种产品都有自己的网页。现在,我的问题是,如果我们的服务器上有大约400个网页,它不会让网站变得笨重吗?这不会影响用户体验吗?
我们如何管理Google App Engine上的400多个网页?是否有一些我不知道的事情,即使在服务器上托管多个网页,使网络应用程序不那么笨重?
答案 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),