在Django中运行Angular SPA

时间:2015-10-21 00:25:14

标签: angularjs django google-app-engine google-app-engine-python

我们有一个独立的前端服务器,它只提供静态的AngularJS文件。对于SEO,我们希望使用Prerender之类的服务,因此需要运行可以路由URL的服务器 我们计划将Django后端与Prerender中间件相同(因为有一台运行Python的服务器)。

我可以使用以下命令为所有网址提供静态文件:

Reflect.hasField(record,'prio')

现在,我的问题是:
1- Angular应用程序使用静态文件的本地路径,例如styles / f.css,通过Django提供服务(带路由)的最简单方法是什么?到处使用Django的Static关键字的任何替代方法?
2- Django不建议直接提供静态文件。那么,您将通过App引擎(使用路由)为SPA提供什么服务?

1 个答案:

答案 0 :(得分:1)

我的建议是使用某种URL前缀( STATIC_URL ),例如“static”,以便清楚地区分对Django视图的请求和静态文件。

要提供静态资源,您可以使用whitenoise

如果你真的需要避免 STATIC_URL 前缀,你可以继承或调整DjangoWhiteNoise并使用一组URL前缀模式代替 STATIC_URL 前缀“css”,“js”和“img”