Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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
Python MVC路由_Python_Google App Engine_Model View Controller_Python 2.7_Webapp2 - Fatal编程技术网

Python MVC路由

Python MVC路由,python,google-app-engine,model-view-controller,python-2.7,webapp2,Python,Google App Engine,Model View Controller,Python 2.7,Webapp2,我的问题与此相同;——它从来没有被回答过 我希望能够像ASP.net MVC那样路由我的请求 例如,address/Home/Index/query string/应该将请求映射到HomeController并调用Index方法 我为这个做了一个实现,它可以工作,但我想知道一个更好的方法。我已经 我第一次开始使用Google App Engine和Python,在开发网站和web应用程序方面没有太多经验 这是我的实现 Yaml文件: - url: /.* script: router.app

我的问题与此相同;——它从来没有被回答过

我希望能够像ASP.net MVC那样路由我的请求

例如,address/Home/Index/query string/应该将请求映射到HomeController并调用Index方法

我为这个做了一个实现,它可以工作,但我想知道一个更好的方法。我已经 我第一次开始使用Google App Engine和Python,在开发网站和web应用程序方面没有太多经验

这是我的实现

Yaml文件:

- url: /.*
script: router.app
路由配置:

def StartUp():
    sys.path.append(os.path.join(os.getcwd(), 'System'))
    sys.path.append(os.path.join(os.getcwd(), 'Controllers'))
    sys.path.append(os.path.join(os.getcwd(), 'Models'))
    app.run()

app = webapp2.WSGIApplication([webapp2.Route('/', handler=Router, name='Default', defaults={'handler': 'home', 'method': 'index', 'query': ''}, build_only=False, handler_method='map'),
                            webapp2.Route('/<query>', handler=Router, name='DefaultC', defaults={'handler': 'home', 'method': 'index'}, build_only=False, handler_method='map'),
                            webapp2.Route('/<handler>/', handler=Router, name='DefaultCS', defaults={'method': 'index', 'query': ''}, build_only=False, handler_method='map'),
                            webapp2.Route('/<handler>/<query>', handler=Router, name='DefaultCA', defaults={'method': 'index'}, build_only=False, handler_method='map'),
                            webapp2.Route('/<handler>/<method>/', handler=Router, name='DefaultCAS', defaults={'query': ''}, build_only=False, handler_method='map'),
                            webapp2.Route('/<handler>/<method>/<query>', handler=Router, name='DefaultAll', build_only=False, handler_method='map'),
                            webapp2.Route('/<handler>/<method>/<query>/', handler=Router, name='DefaultAllS', build_only=False, handler_method='map')],
                            debug=True)

if __name__ == '__main__':
    StartUp()
这是我的家庭控制器:

class HomeController(MVC.Controller):

    def Index(self):

            path = os.path.join(os.path.dirname('Views/Home/'), 'home.html')
            self.Request.response.out.write(template.render(path, None))
有一个
class HomeController(MVC.Controller):

    def Index(self):

            path = os.path.join(os.path.dirname('Views/Home/'), 'home.html')
            self.Request.response.out.write(template.render(path, None))