Я пытаюсь вызвать простую функцию из 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')
...