在具有 Angular 前端的简单 Django Rest Framework 应用程序中会发生什么?
What happens in a simple Django Rest Framework application that has an Angular front end?
我学习 Django 已经有一段时间了,我发现这张图片很有帮助:
我现在正在研究 Angular JS,我试图弄清楚每个组件(指令、控制器和服务?)是如何交互的,以及是否有类似的 'cycle'.这个 blog 看起来快要回答我的问题了。
但是如果我们有一个 Django-Rest-Framework 端点提供上面例子中的书籍,情况会有什么不同呢?
我们想要 URL 来自 Django 的解决方案,还是 Angular?或者更负责任,哪个先例?
当我们说 localhost:8000/books
时,事情发生的一般顺序是什么?
urls.py
抓到了吗?
urls(r'^books',angular_redirect)
如果是这样,该函数 (angular_redirect) 需要渲染什么才能让 angular 响应?
angular 路由捕获这个吗?
$routeProvider.when('/books', {templateUrl: 'partials/book_partial.html', controller: 'MyBookCtrl'});
这是否意味着我的控制器然后注册了一个连接到 localhost:8000:/book_list.json
的服务,是否需要在 urls.py
中注册?
如果我们完全依赖 angular 进行路由,Angular 如何知道从哪里获取 DRF JSON。我已经看到 this 包可以让你在 angular JS 中使用 django 模型,但我不确定这是否会使图片变得或多或少复杂。
抱歉,如果这过于宽泛,我是新手,正在努力了解这些技术的一些一般概念。任何有关缩小此问题范围以使其可以回答的建议将不胜感激。
您的问题有一个简单的答案:Angular 处理前端,Django(和 DRF)处理后端,其中包括 URLs。完全由 Angular 提供支持的网站上的用户永远不应直接点击由 Django 提供服务的 URL,除了提供页面结构和 JS 本身的初始页面。
除此之外,两者之间的唯一交互是 Angular 通过 Ajax 调用从 Django 明确请求 JSON。这很可能与用户的导航事件有关,但同样可以定时触发或通过某种 websocket 功能触发。
我学习 Django 已经有一段时间了,我发现这张图片很有帮助:
我现在正在研究 Angular JS,我试图弄清楚每个组件(指令、控制器和服务?)是如何交互的,以及是否有类似的 'cycle'.这个 blog 看起来快要回答我的问题了。
但是如果我们有一个 Django-Rest-Framework 端点提供上面例子中的书籍,情况会有什么不同呢?
我们想要 URL 来自 Django 的解决方案,还是 Angular?或者更负责任,哪个先例?
当我们说 localhost:8000/books
时,事情发生的一般顺序是什么?
urls.py
抓到了吗?urls(r'^books',angular_redirect)
如果是这样,该函数 (angular_redirect) 需要渲染什么才能让 angular 响应?
angular 路由捕获这个吗?
$routeProvider.when('/books', {templateUrl: 'partials/book_partial.html', controller: 'MyBookCtrl'});
这是否意味着我的控制器然后注册了一个连接到
localhost:8000:/book_list.json
的服务,是否需要在urls.py
中注册?
如果我们完全依赖 angular 进行路由,Angular 如何知道从哪里获取 DRF JSON。我已经看到 this 包可以让你在 angular JS 中使用 django 模型,但我不确定这是否会使图片变得或多或少复杂。
抱歉,如果这过于宽泛,我是新手,正在努力了解这些技术的一些一般概念。任何有关缩小此问题范围以使其可以回答的建议将不胜感激。
您的问题有一个简单的答案:Angular 处理前端,Django(和 DRF)处理后端,其中包括 URLs。完全由 Angular 提供支持的网站上的用户永远不应直接点击由 Django 提供服务的 URL,除了提供页面结构和 JS 本身的初始页面。
除此之外,两者之间的唯一交互是 Angular 通过 Ajax 调用从 Django 明确请求 JSON。这很可能与用户的导航事件有关,但同样可以定时触发或通过某种 websocket 功能触发。