django extjs5 交互例子

最近学习了extjs.练习了extjs和django后台交互涉及的ajax,cookie,csrf token等相关例子。完整实现存放在github.

前段代码片段

Ext.onReady(function(){
    Ext.Ajax.on('beforerequest', function (conn, options) {
        if (!(/^http:.*/.test(options.url) || /^https:.*/.test(options.url))) {

            if(Ext.util.Cookies.get('csrftoken')==null){
                Ext.util.Cookies.set('csrftoken','csrftoken')
            }
            if (typeof(options.headers) == "undefined") {
                options.headers = {'X-CSRFToken': Ext.util.Cookies.get('csrftoken')};
            } else {
                options.headers['X-CSRFToken']=Ext.util.Cookies.get('csrftoken');
            }
        }
    }, this);

});
后台:

@login_required    
def app_users_update(request):
    logging.info(request)
    data = json.loads(request.body.decode("utf-8"))
    data=data["data"]
    id1=data["id"]
    rec=User.objects.get(id=id1)
    if data.get("name")!=None:
        rec.username=data["name"]
    if data.get("email")!=None:
        rec.email=data["email"]
    if data.get("first")!=None:
        rec.first_name=data["first"]
    if data.get("last")!=None:
        rec.last_name=data["last"]
    rec.save()
    output={"success":True,"message":"UPDATE new User" +str(rec.id)}
    output["data"]={"id":rec.id,"name":str(rec.username),"email":str(rec.email),"first":str(rec.first_name),"last":rec.last_name}
    return HttpResponse(json.dumps(output, ensure_ascii=False))


点击打开链接


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值