Как вывести данные из контроллера в шаблон Angular js?

Здравствуйте! Пытаюсь сделать SPA приложение на Django + Angular, настроил REST API и как только добрался до публичной части наткнулся на проблему: Angular отказывается подгружать данные из контроллера в шаблон. Я упростил клиентское приложение до максимума, но проблемы это не решило:

app.js

var app = angular.module('uniApp', []);
app.controller('uniController', function ($scope) {
  $scope.message = "some text";
});


index.html

<!DOCTYPE html>
<html ng-app="uniApp">
<head>
    <meta charset="utf-8">
    <title>UNI DIGIT</title>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.js"></script>
</head>
<body ng-controller="uniController">
 <h1>{{ message }}</h1>
 {% load staticfiles %}
 <script src="{% static 'js/shared/angular-ui-router.min.js' %}"></script>
 <script type="text/javascript" src="//cdn.jsdelivr.net/restangular/latest/restangular.js"></script>
 <script type="text/javascript" src="{% static 'js/app.js' %}"></script>
</body>
</html>

Файловая структура:

main/
--static/
  --js/
    --app.js    
--templates/
  --main/
    --index.html

Когда пытаюсь сделать то же самое без Джанго - всё работает, может именно в нём дело. Но ведь Джанго просто отдаёт хтмл-страницу и нужные скрипты...
  • Вопрос задан
  • 561 просмотр
Решения вопроса 2
ptrvch
@ptrvch
вебдев-энтузиаст. Django, AngularJS
Второй вариант, наряду с тегом {% verbatim %} - переопределить теги AngularJS:

angular.module('app', []).config(function($interpolateProvider){
        $interpolateProvider.startSymbol('{$');
        $interpolateProvider.endSymbol('$}');


После этого вместо стандартных {{}}, которые входят в конфликт с Джанго, используйте {$ $}
Ответ написан
Комментировать
tema_sun
@tema_sun
Используйте тег {% verbatim %}
https://docs.djangoproject.com/en/1.9/ref/template...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы