博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django 中针对基于类的视图添加 csrf_exempt
阅读量:6566 次
发布时间:2019-06-24

本文共 1109 字,大约阅读时间需要 3 分钟。

hot3.png

在Django中对于基于函数的视图我们可以 @csrf_exempt 注解来标识一个视图可以被跨域访问。那么对于基于类的视图,我们应该怎么办呢?

简单来说可以有两种访问来解决

方法一:在类的 dispatch 方法上使用 @csrf_exempt

class InsertMyFavView(LoginRequiredMixin, View):    """    加入收藏    """    login_url = '/login/'    redirect_field_name = 'next'    def post(self, request):        user = request.user        data = json.loads(request.body.decode())        fav_id = data["fav_id"]        fav_type = data["fav_type"]        try:            user_fav = UserFavorite.objects.get(user=user, fav_id=fav_id, fav_type=fav_type)            if user_fav:                return JsonResponse({"status": "success", "msg": "已收藏!"})        except UserFavorite.DoesNotExist:            UserFavorite(user=user, fav_id=fav_id, fav_type=fav_type,add_time=datetime.now()).save()            return JsonResponse({"status": "success", "msg": "添加收藏成功!"})

方法二:在 urls.py 中配置

from django.conf.urls import urlfrom django.views.decorators.csrf import csrf_exemptimport AddMyFavViewurlpatterns = [    # 加入收藏    path('myfav/add/', csrf_exempt(AddMyFavView.as_view()), name="add_fav"),]

转载于:https://my.oschina.net/liuyuantao/blog/1796967

你可能感兴趣的文章
如何在三个月学习三年的生活经验
查看>>
简单的dns解析过程
查看>>
web前端开发怎么学,web教程资源
查看>>
java常用容器(集合)的总结
查看>>
document.getElementById()和document.forms[0].submit()
查看>>
cocos2d-x一些核心概念介绍
查看>>
Linux 中RPM包的安装
查看>>
app.config中增加appSettings节点,conn.open时报初始化错误
查看>>
在word中按空格键,显示有小的圆点怎么取消
查看>>
IPMI从驱动到应用(中篇 )
查看>>
多项物联网技术评为即将改变世界的革新技术
查看>>
Linux高可用集群(Corosync+Pacemaker)
查看>>
CSS3 (animation)
查看>>
Centos 6.4 PPTP ×××搭建
查看>>
apache 日志切割
查看>>
2017最新整理传智播客JavaEE第49期 基础就业班
查看>>
MySQL-MMM实现MySQL高可用
查看>>
看菲菲详解如何快速获取linux命令帮助
查看>>
vim 编辑器详解
查看>>
现代软件工程 第十章 【典型用户和场景】 练习与讨论
查看>>