我一直在尝试使用javascript从onclick事件中调用基于类的视图中的函数。 请检查下面的代码,让我知道我应该如何解决这个问题,因为我对python还不熟悉。
我关注了以下帖子:Django: How can I call a view function from template?
我真正想要做的是将我在javascript中获取的json数据转储到我的django视图中的worker函数。为此,我采用这种方法,如果有人可以帮助我,或者如果有任何规范或django方式这样做,我将不胜感激,如果有人可以帮助我这样做,我将不胜感激。
我会提前道歉,因为我从去年开始学习python所以我可能会在这里做一些noob错误。
Javascript功能
function request_access(){
var message = new Object();
message.platform_token = document.getElementById("id_platform_token").value;
message.platform_ui = document.getElementById("id_platform_uid").value;
var request_data= JSON.stringify(message);
alert(request_data);
$.ajax({
type: 'POST',
url: 'ui/seeds/<pk>/update',
data : { 'request_data': request_data},
success : function(json) {
$("#request-access").hide();
alert("requested access complete");
alert(data);
}
})
}
HTML按钮
<form action="" method="post">{% csrf_token %}
{{ form|crispy }}
<input type="submit" value="Update" onclick="request_access(this)" id="{{ data }}"/>
基于班级视图的Django视图
def request_access(self, request):
print("django view function")
m = request.POST.get('request_data')
z = request.POST.get('platform_uid')
print z
self.rabbit_worker(json.dumps(m))
return HttpResponse(json.dumps(m), content_type="application/json")