Вызов функции просмотра Django из интерфейса angularJS - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь вызвать простую функцию из views.py приложения django с именем class. По сути, я хочу нажать на кнопку и вызвать функцию просмотра sayHi, чтобы заставить ее печатать некоторый текст на консоль.

Я перепробовал много предложенных подходов, но мне это не удалось.

Что я должен добавить к соответствующему HTML файлу .../templates/class/index.html, чтобы вызвать указанную функцию?

Может быть, было бы легче достичь, нацелив sayHello() whithin ClassView? Если да, то как?

Я уже использую немного JQuery в своем проекте.

В любом случае, вот views.py:

#class view
class ClassView(viewsets.ModelViewset):
    ...
    def sayHello():
        print('ClassView should print this to the console.')

#function view
def sayHi():
    print('sayHi view should print this to the console.')

здесь route.py (используя один и тот же шаблон и контроллер для обоих представлений):

angular.module('MyApplication')
  .config(function($stateProvider, $urlRouterProvider, $locationProvider){
    $urlRouterProvider.otherwise('/');

    $stateProvider
      .state('class', {
        url:'/class',
        templateUrl: "app/assets/templates/class/index.html",
        controller: "ClassIndexController"
      })
      .state('hello', {
        url:'/class',
        templateUrl: "app/assets/templates/class/index.html",
        controller: "ClassIndexController"
      ...

вот фрагменты из urls.py

...

router.register(r'class', ClassView)
router.register(r'hello', sayHi, base_name='Hi')
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...