我正在使用带有python以及HTML和CSS的谷歌应用引擎构建一个网络应用程序,我有一堆页面(大约15个)我想要制作虽然有一些类似的目的会有所不同。有没有办法只有一些可以创建一堆页面的处理程序,或者我是否需要在每个页面的python中使用不同的类?
我知道这个问题在没有页面上下文的情况下有点模糊,但实际上有关如何创建多个页面而不编码全新处理程序和HTML的任何信息都将是一个巨大的帮助。
答案 0 :(得分:1)
不,每个页面都不需要不同的课程。
您可以使用app.yaml
handlers:
- url: /.*
script: dispatcher.app
然后,从dispatcher.py
开始,您可以将每个请求重定向到一个RequestHandler并在那里编写所有逻辑,例如为不同的URL提供不同的jinja2
模板。
URL Mappings documentation说明了如何将多个网址重定向到一个RequestHandler。例如:
class BrowseHandler(webapp.RequestHandler):
def get(self, category, product_id):
# Display product with given ID in the given category.
# Map URLs like /browse/(category)/(product_id) to BrowseHandler.
application = webapp.WSGIApplication([(r'/browse/(.*)/(.*)', BrowseHandler)
],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == '__main__':
main()
答案 1 :(得分:0)
这实际上取决于您使用的是什么框架(如果有的话),但您正在寻找的是模板系统。 Here是一个很好的框架和模板系统列表。
答案 2 :(得分:0)
这实际上取决于您尝试做什么,但如果您使用的是webapp或webapp2,则可以使用一个处理程序。检查Request参数的url字段以找出用户请求的页面。