【问题标题】:google app engine to make many pages automatically谷歌应用引擎自动制作许多页面
【发布时间】:2012-06-20 03:23:27
【问题描述】:

我正在使用带有 python 以及 HTML 和 CSS 的谷歌应用程序引擎构建一个 Web 应用程序,并且我有一堆页面(大约 15 个)我想要制作它们都会有些不同,但会有类似的目的。有什么方法可以只使用几个可以创建一堆页面的处理程序,还是我需要在 python 中为每个页面使用不同的类?

我知道这个问题在没有页面上下文的情况下有点含糊,但是关于如何创建多个页面而不为它们编写全新的处理程序和 HTML 的任何信息将是一个巨大的帮助。

【问题讨论】:

  • 是的,你可以。你现在有什么?你需要发布一些代码。

标签: python html css google-app-engine


【解决方案1】:

不,您不需要为每个页面设置不同的类。

您可以使用 app.yaml 将每个请求重定向到单个脚本

handlers:
- url: /.*
  script: dispatcher.app

然后,您可以从 dispatcher.py 将每个请求重定向到单个 RequestHandler 并在那里编写所有逻辑,例如动态地为不同的 URL 提供不同的 jinja2 模板。

URL Mappings documentation 解释了如何将多个 URL 重定向到一个 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()

【讨论】:

  • 我不认为他在考虑 app.yaml 中的处理程序定义。从我对这个问题的理解是,他不知道如何使用相同的请求处理程序处理不同的页面。
  • 那你为什么不输入呢? Stack Overflow doesn't know what you are thinking
  • @aschmid00 这就是文档链接 (Running the Application) 的实际解释。
  • @KurzedMetal 你不需要打电话给我......我知道该怎么做。 :)
【解决方案2】:

这实际上取决于您使用的框架(如果有的话),但您正在寻找的是模板系统。 Here 是一个很好的框架和模板系统列表。

【讨论】:

  • 为什么这个答案被否决了?模板引擎正是他所需要的。
【解决方案3】:

这实际上取决于您要执行的操作,但如果您使用的是 webapp 或 webapp2,则可以使用一个处理程序。检查 Request 参数的 url 字段以找出用户正在请求的页面。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    相关资源
    最近更新 更多