Использование URL-адресов Django с помощью метода AngularJs routeProvider

для проекта я использую Django на back-end и AngularJs на передней панели.

В основном, я хочу, чтобы запустить приложение «Угловое», только когда URL-адрес начинается с projectkeeper/ .

Другими словами, скажем, мой сайт example.com. Я хочу, чтобы угловое приложение запускалось для URL example.com/projectkeeper/dashboard/ , example.com/projectkeeper/projects/ и т. Д., Но не на example.com/about/ .

Надеюсь, я поняла. Во всяком случае, для этого я делаю следующее с моим кодом:

urls.py

 urlpatterns = [ url(r'^projectkeeper/$', TemplateView.as_view(template_name='base.html')), ] 

В шаблоне base.html я, очевидно , ссылаюсь на свое угловое приложение. Для угловой маршрутизации я сделал следующее:

 myapp.config(['$routeProvider', function($routeProvider) { $routeProvider .when('/dashboard/', { title: 'Dashboard', controller : 'DashboardController', templateUrl : 'static/app_partials/projectkeeper/dashboard.html' }) .otherwise({ redirectTo : '/' }); }]); 

Так что, в идеале, я думал, что переход на example.com/projectkeeper/#/dashboard/ приведет к запуску DashboardController из моего углового приложения. Однако это не так, я получаю только пустую страницу, что означает, что маршрутизация была неправильной.

Любые решения? Как я уже говорил, я хочу запустить приложение «Угловое», только когда URL-адрес начинается с projectkeeper/ .

2 Solutions collect form web for “Использование URL-адресов Django с помощью метода AngularJs routeProvider”

Я думаю, вы довольно близки, есть немного вещей, чтобы сделать это (честно говоря, это путать, чтобы понять, и я надеюсь, что ничего не забыл).

Во-первых, ваш порядок URL-адресов важен, если вы определите что-то перед угловыми маршрутами, которые они будут отображаться первыми, поэтому используйте URL-адреса вашего приложения django перед угловым.

Затем, если вы хотите сделать угловые сведения о подпункте, вам нужно определить <base> в своем заголовке. В твоем случае:

<base href="/projectkeeper/" />

(вы также можете определить projectkeeper во всех своих функциях tho).

Для URL-адресов я бы изменил регулярное выражение на: r'^projectkeeper/.*' . Опять же, он должен быть последним в списке ваших URL.

Вы столкнетесь с другими проблемами, такими как {{ }} , проблемы с аутентификацией, но они останутся для другого ответа 🙂

Попробуйте этот ui-маршрутизатор для angularJS https://github.com/angular-ui/ui-router

Это будет более полезно для вложенных представлений и проблем, с которыми вы сталкиваетесь в настоящее время.

  • Как получить дайджест-представление CryptoJS.HmacSHA256 в JS
  • Добавьте динамическую форму в набор форм django, используя javascript правильно
  • Проблема скремблирования созданного javascript контента с помощью Selenium и python
  • Передайте массив Python в javascript?
  • сэндвич-шаблон в javascript-коде
  • Нажмите на ссылку javascript внутри python?
  • Экспорт холста HTML в виде последовательности изображений
  • Как я могу выполнить код JavaScript из Python?
  • Python - лучший язык программирования в мире.