Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Django + Angular JS - не работает роутинг 
:(
    Опции темы
mdlv
  Дата 16.5.2016, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 14.5.2012

Репутация: нет
Всего: нет



Задача: реализовать роутинг на стороне ангуляра, на стороне Django REST - только работа с собственным api.

Возник вопрос, как скоординировать работу urls.py у Django и routerProvider у Angular? Сейчас отрабатывают только urls.py, роутинг не срабатывает. По / открывается index.html.

В основном index.hmtl подключаю angular-route.js и js для роутинга: 

Код

  <script>
        var app = angular.module('myApp', ['ngRouter']);   
        app.constant('DJANGO_SETTINGS', {
                staticUrl: '{{ STATIC_URL }}',
                mediaUrl: '{{ MEDIA_URL }}'
            });
        app.config(stateConfig);
        stateConfig.$inject = ['$routerProvider', 'DJANGO_SETTINGS'];
    
    function stateConfig($stateProvider, DJANGO_SETTINGS) {
           $routeProvider
            .when('/', {
                 controller: 'someController1',
                 templateUrl: DJANGO_SETTINGS.staticUrl + 'myapp/templates/template1.html'
            }
            .when('/page1/:id', {
                 controller: 'someController2',
                 templateUrl: DJANGO_SETTINGS.staticUrl + 'myapp/templates/template2.html'
            }
    };

</script>


Также подключаю js с контроллерами someController1 и someController2, которые должны посредством запроса к api заполнять соответствующие шаблоны.

В Django REST urls.py:

Код

urlpatterns = patterns( '',
       url(r'myapi/'), include('myapp.urls')),
       url(r'$', HomePageView.as_view()),
    ) + static.static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
+ static.static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


HomePageView отдает index.html через TemplateView. Т.е. далее по идее должен срабатывать роутинг ангуляра.

В settings.py в TEMPLATE_CONTEXT_PROCESSORS добавил две записи: 
Код
'django.core.context_processors.media' и 'django.core.context_processors.static'.


Переместил шаблоны template1.html и template2.html в /static/myapp/templates/, index.html лежит /myproject/templates.

Это сообщение отредактировал(а) mdlv - 16.5.2016, 11:10
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0696 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.