从angularJS前端调用Django视图函数

时间:2020-01-23 00:52:51

标签: python angularjs django django-views

我正在尝试从名为views.py的Django应用的class中调用一个简单函数。 基本上,我想单击一个按钮并调用sayHi视图功能,使其在控制台上打印一些文本。

我尝试了很多建议的方法,但是都失败了。

我应该添加什么到相应的HTML文件.../templates/class/index.html中以触发所述功能?

通过在sayHello()中定位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.')

这是routes.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')
...

0 个答案:

没有答案