一、django通过json格式获取复选框值并处理
1,前端代码
<div class="col-md-10 text-left">
{% for column in article_columns %}
<label class="checkbox-inline" >
<input class="tagcheckbox" type="checkbox" id="{{ column.id }} name="article_tag" value="{{ column.id }}">{{ column.id }}
</label>
{% empty %}
<p>没有标签</p>
{% endfor %}
</div>
<script type="text/javascript" src="{% static "js/json2.js" %}"></script>
function publish_article(){
var article_tars = [];
$.each($("input[name='article_tag']:checked"),
function(){article_tags.push($(this).val());});
$.ajax({
url: '{% url 'article:article_post' %}',
type: 'POST',
data: {'title': titleVal,'column_id':columnId,'body':bodyVal,'tags':JSON.stringify(article_tars)},
success: function (e) {
if (e == "1") {
layer.msg("good");
} else if(e == "2"){
layer.msg("sorry");
} else {
layer.msg("项目名称必须写,不能为空。")
}
}
});
后台代码:
import json
tags = request.POST['tags']
if tags :
for atag in json.loads(tags):
tag = request.user.tag.get(tag=atag)
# 其他处理代码xxxxxxxxx
二。后台返回json字符串给前端
方法1,、import json
data = {'anem':'xiaoxi','web':'django'}
return HttpResponse(json.dumps(data),content_type='application/json')
方法2:。
from braces.views import CsrfExemptMixin,JsonRequestResponseMixin))
class FooView(CsrfExemptMixin,JsonRequestResponseMixin)::
data = {'anem':'xiaoxi','web':'django'}
return self.render_json_response(data)