/ / Какво се случва в едно просто приложение за Django Rest Framework, което има ъглов преден край? - django, angularjs, django-rest-framework, angularjs-routing, page-lifecycle

Какво се случва в просто приложение за Django Rest Framework, което има ъглова предна част? - django, angularjs, django-rest-framework, angularjs-маршрутизация, страница-жизнен цикъл

От известно време изучавам Django и намерих това изображение полезно:

Цикъл на заявката за отговор на Django

Сега се занимавам с Angular JS и се опитвам да разбера как всеки от компонентите (Директиви, Контролери и Услуги?) Взаимодейства и дали има подобен "цикъл". Това блог прилича на отговор на въпроса ми.

Но как е различна картината, ако имаме крайна точка на Django-Rest-Framework, която предоставя книгите в горния пример?

Искаме ли URL резолюция от Django или Angular? Или повече отговорно, което има прецедент?

Какъв е общия ред, в който се случват нещата, когато отидем да кажем localhost:8000/books ?

  • Прави urls.py хвана това?

    urls(r"^books",angular_redirect)
    

    Ако е така, какво трябва да изпълнява тази функция (angular_redirect), за да получи ъгловата реакция?

  • Това ли е ъглово маршрутизиране?

     $routeProvider.when("/books", {templateUrl: "partials/book_partial.html", controller: "MyBookCtrl"});
    

    Това означава ли, че моят контролер регистрира услуга, закачена да каже localhost:8000:/book_list.json и трябва да се регистрира в urls.py?

Как Angular знае къде да получи JSON за DRF, ако изцяло разчитаме на ъглови за маршрутизация. това пакет, който ви позволява да използвате django моделите в ъгловата JS, но не съм сигурен дали това прави картината повече или по-малко сложна.

Извинения, ако това е прекалено широко, аз съм много нови се опитвам да оглавя някои от общите концепции на тези технологии. Всеки съвет за стесняване на този въпрос, така че той да бъде отговорен, ще бъде оценен.

Отговори:

1 за отговор № 1

Въпросът ви има прост отговор: Angular обработва предния край и Django (и DRF) обработват задния край и това включва URL адреси. Потребителите на напълно захранван сайт с ъглови ъгли никога не трябва да влизат директно в URL адрес, който се обслужва от Django, освен за началната страница, която обслужва структурата на страницата и самата JS.

Освен това, единственото взаимодействие междудве е, когато Angular специално иска JSON от Django, чрез Ajax повикване. Това може да е във връзка с навигационното събитие от потребителя, но също толкова равностойно може да бъде задействано във времето или чрез някаква функционалност на websocket.