Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 如何理解chats.html v.s(';/getchats';,ChatsRequestHandler)]_Google App Engine_Python 2.7 - Fatal编程技术网

Google app engine 如何理解chats.html v.s(';/getchats';,ChatsRequestHandler)]

Google app engine 如何理解chats.html v.s(';/getchats';,ChatsRequestHandler)],google-app-engine,python-2.7,Google App Engine,Python 2.7,我试图理解以下两者之间的区别: ChatsRequestHandler类生成一个名为chats.html的模板 template = self.generate('chats.html', template_values) 在应用程序视图中,其名称为getchats: application = webapp.WSGIApplication( [('/', MainRequestHandler), ('/ge

我试图理解以下两者之间的区别:

ChatsRequestHandler类生成一个名为chats.html的模板

template = self.generate('chats.html', template_values)
在应用程序视图中,其名称为getchats:

application = webapp.WSGIApplication(
                     [('/', MainRequestHandler),
                      ('/getchats', ChatsRequestHandler)],
我在edit_user.htmlv.s(“/edituser”,EditUserProfileHandler)中也遇到了同样的情况


应用程序如何知道getchats已连接到chats.html,并且它们的名称不同?我希望它应该与chats.html和('/chats',ChatsRequestHandler)同名。

您的请求流是这样的

  • App Engine查找您的App.yaml文件。它应该包含一个条目,说明
    /getchats
    应该由
    somefile.py中的
    应用程序处理
  • 然后,它转到这个“应用程序视图”并将其与Webapp路由匹配。在本例中,该路由是
    ('/getchats',ChatsRequestHandler)
  • 然后在ChatRequestHandler上调用
    get
    post
    ,将请求和响应对象传递给它
  • 其输出将发送回用户的浏览器
  • 您可以根据需要自由实现
    ChatRequestHandler
    。在本例中,您可以通过读取名为
    chats.html
    的模板,用一些值填充它,然后输出

    因此应用程序知道getchats连接到ChatRequestHandler。html的名称非常随意——ChatrequeustHandler必须知道它,但仅此而已。您可以重命名它。

    谢谢您的帮助:

    a给出的示例来自codenvy.com,作为示例应用程序

    1应用程序引擎查找您的App.yaml文件。它应该包含一个条目,说明/getchats应该由somefile.py中的应用程序处理

    以下是此应用程序的app.yaml文件

    application: 3kus-apps
    version: 1
    runtime: python
    api_version: 1
    
    handlers:
    - url: /css
      static_dir: css
    - url: /js
      static_dir: js
    - url: /.*
      script: devchat.py
    
    所以,正如您所看到的,它不包含表示/getchats应该由somefile.py中的应用程序处理的条目

    我发现有一个util.js文件,它有一个函数updateChat()。函数updateChat(){downloadUrl(getRandomUrl(“/getchats”),“GET”,null,onchatsreturn);}


    但是,我想知道(1)下的somefile.py应该如何处理这个问题。

    我发现有一个javaschcript函数updateChat()。函数updateChat(){downloadUrl(getRandomUrl(“/getchats”),“GET”,null,onchatsreturn);}。这样我的问题就解决了。处理程序
    url:/.*
    表示所有以/
    开头的url都是任何字符的通配符,
    *
    表示“0次或多次”。因此,
    *
    是一个任意模式(包括空白)。这是一个正则表达式。