Flask 和 Angular Web 应用程序路由
Flask and Angular Web Application Routing
我想主要使用 Python Flask 框架和 AngularJS 制作一个网络应用程序,在考虑这样做并维护应用程序的功能时,我开始想知道路由是怎样的已处理。
在flask中很容易管理后端如何直接处理路由:
@app.route('/')
def home():
在 Angular 中,显然管理路由也很容易,并且可以通过加载特定控制器来处理数据,以通过 XHR 访问后端的某些部分等等。
要制作一个好的单页 Web 应用程序,我会从将所有路由责任委派给 Flask 或 Angular 中获益最大,还是让 Flask 只用一个 /
,并让 Angular 处理该单一视图中更改的所有散列路由。
我不太确定如何解决和委托这个问题,我知道没有一种方法可以做到这一点,但我很想看看以前是否有人搞砸过这个问题,以及他们发现什么更容易处理.
我想这取决于您想如何构建您的应用程序。对我来说,如果您将整个网站视为一个应用程序,允许 Angular 处理所有客户端端点,并使用 Python 作为 RESTful 服务,这对我来说是有道理的。
但是,如果您有任何想要在 SPA 之外呈现服务器端的静态内容,那么您可以在 Python 中进行路由。
看看这个 example,它写得非常好并且有文档记录。如果您查看 controllers.py
文件,您会注意到他使用 Flask/Python 作为 RESTful API 并且他让 Angular 处理所有静态模板。
编辑:我以前从未看过这个,但是 this seems to be really cool and might make your life easier. Also, here's a question 这与我刚发现的你的非常相似。
一种选择是将 Flask 和 AngularJS 应用程序分开。这样,Flask 路由用于公开客户端应用程序 (AngularJS) 将使用的 api 个端点。 AngularJS 路由将用于客户端路由。
我写了一篇关于使用 Flask 和 AngularJS 的教程 - http://tutsbucket.com/tutorials/building-a-blog-using-flask-and-angularjs-part-1/
希望对您有所帮助。
我知道这是旧线程。但是如果有人想通过 Flask 服务 Angular 或 AngularJS,那么最简单的解决方案是通过 Angular 路由和 Flask 端的 return 客户端页面来处理 404 not found 错误.
@app.errorhandler(404)
def not_found_error(error):
return render_template('index.html')
我想主要使用 Python Flask 框架和 AngularJS 制作一个网络应用程序,在考虑这样做并维护应用程序的功能时,我开始想知道路由是怎样的已处理。
在flask中很容易管理后端如何直接处理路由:
@app.route('/')
def home():
在 Angular 中,显然管理路由也很容易,并且可以通过加载特定控制器来处理数据,以通过 XHR 访问后端的某些部分等等。
要制作一个好的单页 Web 应用程序,我会从将所有路由责任委派给 Flask 或 Angular 中获益最大,还是让 Flask 只用一个 /
,并让 Angular 处理该单一视图中更改的所有散列路由。
我不太确定如何解决和委托这个问题,我知道没有一种方法可以做到这一点,但我很想看看以前是否有人搞砸过这个问题,以及他们发现什么更容易处理.
我想这取决于您想如何构建您的应用程序。对我来说,如果您将整个网站视为一个应用程序,允许 Angular 处理所有客户端端点,并使用 Python 作为 RESTful 服务,这对我来说是有道理的。
但是,如果您有任何想要在 SPA 之外呈现服务器端的静态内容,那么您可以在 Python 中进行路由。
看看这个 example,它写得非常好并且有文档记录。如果您查看 controllers.py
文件,您会注意到他使用 Flask/Python 作为 RESTful API 并且他让 Angular 处理所有静态模板。
编辑:我以前从未看过这个,但是 this seems to be really cool and might make your life easier. Also, here's a question 这与我刚发现的你的非常相似。
一种选择是将 Flask 和 AngularJS 应用程序分开。这样,Flask 路由用于公开客户端应用程序 (AngularJS) 将使用的 api 个端点。 AngularJS 路由将用于客户端路由。
我写了一篇关于使用 Flask 和 AngularJS 的教程 - http://tutsbucket.com/tutorials/building-a-blog-using-flask-and-angularjs-part-1/
希望对您有所帮助。
我知道这是旧线程。但是如果有人想通过 Flask 服务 Angular 或 AngularJS,那么最简单的解决方案是通过 Angular 路由和 Flask 端的 return 客户端页面来处理 404 not found 错误.
@app.errorhandler(404)
def not_found_error(error):
return render_template('index.html')