【发布时间】:2017-02-11 10:16:50
【问题描述】:
我正在从前端收到 json 响应,例如
Object {distict: "bangalore", taluka: "vijaypura", taluka2: "rural", distict1: "vijaypura", taluka3: "singagi"}
如何将数据读取到后端并保存到数据库中
我比较新鲜,所以对我有帮助
【问题讨论】:
标签: django python-2.7
我正在从前端收到 json 响应,例如
Object {distict: "bangalore", taluka: "vijaypura", taluka2: "rural", distict1: "vijaypura", taluka3: "singagi"}
如何将数据读取到后端并保存到数据库中
我比较新鲜,所以对我有帮助
【问题讨论】:
标签: django python-2.7
取决于您发送数据的方式 1:获取
data_rec = request.GET['distict']
2:POST
data_rec = request.POST['distict']
这是一个简单的草稿代码
@login_required
def feed_read_body(request):
with transaction.atomic():
pk = int(request.GET.get('pk' ,None))
feed = NewsFeed.objects.get(id=pk)
return JsonResponse({'body':feed.body})
return JsonResponse( {'error_msg':False})
使用javascript或JQuery前端通过GET方式发送数据
function load_text(obj){
textedite_parent = $(obj).closest("span");
var textedite = $(textedite_parent).find('textbody').first();
pk = $(obj).attr('feed');
$.ajax({
url:'/api/feed/read/body/',
data: {
'pk': pk
},
type: 'get',
success: function(data) {
$(textedite).text(data.body);
$(obj).hide();
};
});
};
通过 POST 发送数据。出于安全原因发布需要 CSRF-Tokens 只需将此功能添加到 ajax
beforeSend: function(xhr, settings) {
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
//$(".loading").show()
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
},
并将类型从 get 更改为 post
从cookie中获取CSRFToken使用这个函数
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
【讨论】: