所有我对jquery和Django都是陌生的。单击ID为'submit_data'的按钮时,我使用以下代码发布。是否可以从Django应用的views.py中检索字典{ data_key: 'myString'}
?如果是,如何?
$(function() {
$('#submit_data').on('click',function() {
$.post('/url/', { data_key: 'myString'}, function(result) {
alert('successfully posted');
});
});
});
request.data用于从前端获取数据
它是一个类似于字典的对象,可让您通过键名访问提交的数据。
尝试一下:request.data.get('data_key',None)。为了避免KeyError,您可以使用.get(),如果找到的键则提供值,否则返回None。
对于具有表单数据的POST请求,可以使用request.POST
:
def my_view(request):
print(request.POST)
# ...
对于具有JSON数据的POST请求,您需要解码request.body
:
import json
def my_view(request):
# TODO: missing a suitable `content-type` header check
data = json.loads(request.body.decode())
print(data)
# ...
在模板脚本中
$(function() {
$('#submit_data').on('click',function() {
$.post('/url/', { 'data_key': 'myString'}, function(result) {
alert('successfully posted');
});
});
});
在views.py
if request.method == 'POST':
data = request.POST.get('data_key', None)