【Vue+django】 配合rest_framework的惊天大坑

我TM一直用vue的post提交数据,一直403,然后测试了N种方法,最后居然是被rest_rest_framework的认证系统 给坑惨了,我没定义认证,它却自动的给我默认上拒绝了

setting配置:

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": [],
    "DEFAULT_PERMISSION_CLASSES": [],
}

完美解决
接口文件:
from rest_framework.views import APIView
from django.shortcuts import render,redirect,HttpResponse
from api import models
from django.http import JsonResponse

class Register(APIView):

    def get(self,request):
        return render(request, "login.html")

    def post(self,request):
        username = str(request.data.get("register_username"))
        password = str(request.data.get("register_password"))
        message = {}
        try:
            models.UserInfo.objects.create(username=username,password=password)
            message[‘code‘] = 200
            message[‘message‘] = "注册成功"
            return HttpResponse(message)
        except Exception as e:
            message[‘code‘] = 444
            message[‘message‘] = "注册失败"
            return JsonResponse(message)
vue 文件:
 // 注册
            register() {
                if (this.register_password != this.register_password_re) {
                    alert("两次输入的密码不一致")
                } else if (this.register_username === "" || this.register_password === "" || this.register_password_re === "") {
                    alert("输入框不能为空")
                } else {
                    axios.post(‘/register/‘, {
                        register_username: this.register_username,
                        register_password: this.register_password
                    })
                        .then(response => {
                        if (response.data[‘code‘] ==200) {
                            console.log(response.data)
                            alert("注册成功")
                        } else if (response.data[‘code‘] == 444) {
                            alert("用户名已存在")
                        }
                    }).catch(error => {
                        console.log(error)
                        alert("请求异常")
                    })
                }
            },

原文地址:https://www.cnblogs.com/wanghong1994/p/12275784.html

时间: 2024-10-19 19:34:32

【Vue+django】 配合rest_framework的惊天大坑的相关文章

引爆潮流技术 Vue+Django REST framework打造生鲜电商项目

引爆潮流技术Vue+Django REST framework打造生鲜电商项目 1.Django REST framework框架介绍 Django REST framework框架是一个功能强大且灵活的工具包,用于构建Web API,且Django Rest Framework 是 Django 依赖扩展 Restful Api 的框架,与Django的使用风格类似,它的官方网站是:https://www.django-rest-framework.org/ 2.设计API 我们先选择一个AP

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 1.drf前期准备 1.django-rest-framework官方文档 https://www.django-rest-framework.org/ #直接百度找到的djangorestframework的官网是打不开的 2.安装依赖包 如图所示,django restframework的依赖模块,除了coreapi和django-guardian,已经在前面安装过了. 打开终端,执行安装命令

Vue + Django REST framework 打造生鲜电商项目

Vue + Django REST framework 打造生鲜电商项目 需要的联系QQ:996072671 原文地址:https://www.cnblogs.com/guohuide/p/8321842.html

Django的rest_framework的视图之基于ModelViewSet视图源码解析

前言 今天一直在整理Django的rest_framework的序列化组件,前面一共写了2篇博客,前面的博客给的方案都是一个中间的状态的博客,其中有很多的冗余的代码,如果有朋友不清楚,可以先看下我前面的博客 第一篇,使用minix类来实现序列化和反序列化 https://www.cnblogs.com/bainianminguo/p/10463741.html 第二篇,使用通用的类的方法实现序列化和反序列化 https://www.cnblogs.com/bainianminguo/p/1046

Django的rest_framework的权限组件和频率组件源码分析

前言: Django的rest_framework一共有三大组件,分别为认证组件perform_authentication,权限组件check_throttles: 我在前面的博客中已经梳理了认证组件,不知道大家有没有看懂:在这里我把认证的组件的博客地址在贴出来,不清楚的人可以看下 局部设置认证组件的博客:https://www.cnblogs.com/bainianminguo/p/10480887.html 全局设置认证组件的博客:https://www.cnblogs.com/baini

Django的rest_framework的分页组件源码分析

前言: 分页大家应该都很清楚,今天我来给大家做一下Django的rest_framework的分页组件的分析:我的讲解的思路是这样的,分别使用APIview的视图类和基于ModelViewSet的视图类两种方式实现分页的功能,同时我也会介绍两个分页的类,PageNumberPagination类和LimitOffsetPagination,希望能对大家有所帮助! 今天的博客主要的这样的,先讲解基于APIView类的两种分页类的实现方式,然后在讲解基于ModelViewSet类的两种分页类的实现方

一 . Vue+Django 前后端数据交互知识点(一)

一.  Vue+Django基础项目知识点 1. vue+django 跨域的问题解决 https://www.cnblogs.com/lovershowtime/p/11572569.html  跨域知识点 在后台 解决跨域问题 使用中间件 作用全局 cors.py class MiddlewareMixin(object): def __init__(self, get_response=None): self.get_response = get_response super(Middle

Vue+Django 跨域问题配置

跨域请求问题: 1.Django后端解决办法: # 后端下载模块: pip install django-cors-headers # settings配置: MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'dj

django使用rest_framework

在项目的setting.py文件中 "INSTALLED_APPS"加入 'rest_framework' INSTALLED_APPS = (     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.