【问题标题】:Using Django templates with Angular JS在 Angular JS 中使用 Django 模板
【发布时间】:2014-08-30 18:21:02
【问题描述】:

我正在将我的网站前端移植到 Angular JS。后端基于 Django。

我最初计划为 Angular 开发一个 restful API 来从后端获取数据。

但是,我发现最简单的方法是在 Django 中生成部分模板。我缺少这种方法的任何缺点吗?

目前我不打算使用任何数据绑定。

【问题讨论】:

  • 所以只用 Angular 显示渲染的模板?如果是,那么这有点破坏了 Angular 的全部意义。
  • 模板将在 Django 中生成,只是为了更容易地从后端传递数据(它不仅涉及模型数据,还涉及例如翻译)。该模板仍将包含 Angular 代码。 (该网站将是单页应用程序)。这种方法有问题吗?
  • 没有问题,但在这种情况下,您甚至可能不需要角度。我只是看不出它的用途。你能告诉更多关于角码的信息吗?
  • 我们决定选择 Angular 是为了:拥有能够很好地适应移动/桌面分辨率的灵活前端,并拥有一个 SPA 网站(无需重新加载)。有没有更简单的方法?
  • angular 没有任何与适应移动/桌面分辨率相关的内容,因为它只是 JS 框架。您可能应该使用 CSS 框架,如 bootstrap、foundation 或任何其他框架。 SPA 没问题。

标签: django angularjs


【解决方案1】:

您的方法的问题在于,您忽略了 Angular 最引人注目的事情之一,那就是路由。

我最近开始创建一个使用 Angular Js 的 Django 网站,并且很难弄清楚如何将 django 模板与 Angular 模板一起使用。

总结一下;

  1. 我创建了一个名为 band 的应用程序,它有一个页面。

  2. 我设置了 Django rest 框架,以通过乐队应用程序的 restful 服务来处理 crud 操作。

  3. 我有一个带模板,它不使用继承或任何东西,因为这会干扰路由。 (我有点挣扎,也许我已经离开了,但下面是我的决心和方向)

斗争的原因通常是在 Django 中,您有一个服务器端 Web 框架。 Angular 是一个客户端框架。 Django 将其模板目录与静态目录内容分开。您的 JavaScript 角度文件将寻找它需要找到的模板包含。我的特定生产服务器设置使用 Django (Mod-WSGI) 来处理模板的渲染,而图像、js 和 css 等静态内容由 NGINX 渲染。基本上我只是决定好了,因为 Angular 的目标是用于 SPA(单页应用程序)通过 angular 渲染和更新。

【讨论】:

  • 我正在考虑将 Django 模板与 Angular 模板分开,但是该网站是新的相当大的,并且重用当前的 Django 模板/视图会快得多(即使设计不会那么干净) .该网站仍然可以作为带有 Angular 路由的 SPA 工作,只是它不会将 templateUrl 指向静态 Angular .html 模板,而是指向将生成模板的 Django 视图,例如:' when('/training/', { templateUrl: '/训练/' })。 ' 其中 www.site.com/training/ 是 Django 视图的路径
猜你喜欢
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 2015-11-04
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
相关资源
最近更新 更多