1

当我根据 JavaScript 按钮告诉它时,我试图让 Django 运行一个函数。我该如何做到这一点?我在哪里编写 Django 函数?

main.html 中的 JavaScript:

            function mainFunction(){
            alert("Beginning API Main Function");

                $.ajax({
                    type: 'POST',
                    url: 'livestream/postdata/',
                    success: function(){alert('DONE!');},
                    error:function(){alert('ERROR!');},
            });
            alert("ENDING API MAIN FUNCTION");
        }

网址.py:

    url(r'^postdata$', 'livestream.views.postdata', name='postdata')

视图.py:

def postdata(request):

    r = ...api... (I know that the api works)
    print(r.text)

当我运行函数“mainFunction()”时,我收到两个警报,然后是另一个显示“错误”的警报。为什么是这样?

4

3 回答 3

1

在 urls.py 文件中设置路由

url(r'^action/$', 'yourproject.views.action', name='action')

在您的 views.py 文件中,您将创建该操作。

def action(request):
  # do your magic!

然后,当有人与该按钮交互时,执行一个 ajax 调用,在 /action 处点击 URL。

于 2013-08-07T20:32:45.300 回答
0

@HieuNguyen

谢谢你回答我的问题。这是通过聊天,所以我会写下来,什么有效。

  1. 在ajax 中需要一个'/' 在生命流之前。/livestream/postdata/
  2. url(r'^postdata/$', 'livestream.views.postdata', name='postdata')
  3. 在views.py中

    在函数之前我需要@csrf_exempt

    返回 HttpResponse(r)

于 2013-08-08T16:46:58.913 回答
0

您向按钮添加一个侦听器,该按钮在触发时进行 ajax 调用。在您view.py处理该 ajax 调用的响应。

于 2013-08-07T20:29:51.393 回答