我将使用 django 中的通用视图。我定义了serializer_class并重写了get_queryset()方法,但是有一个错误告诉我重写get_queryset()方法。我想知道我的覆盖方法是如何错误的,以及我必须做什么来解决该错误。这是我的代码。
视图.py
from .models import arduino
from .serializers import arduinoToAndroidSerializers, arduinoToDatabaseSerializers
from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from rest_framework.generics import ListCreateAPIView
class arduinoToAndroidViewSet (ViewSet) :
def dataSend (self, request) :
user = self.request.user
queryset = arduino.objects.filter(name=user)
serializer = arduinoToAndroidSerializers(queryset, many=True)
return Response(serializer.data)
class arduinoToDatabaseViewSet (ListCreateAPIView) :
serializer_class = arduinoToDatabaseSerializers
def dataReceive (self, request) :
user = self.request.user
queryset = self.get_queryset()
queryset = arduino.objects.filter(queryset, name=user)
serializer = arduinoToDatabaseSerializers(queryset, many=True)
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
序列化器.py
class arduinoToAndroidSerializers (serializers.ModelSerializer) :
name …Run Code Online (Sandbox Code Playgroud) django django-views django-generic-views django-serializer django-rest-framework
我正在尝试将 base64 编码的图像保存在 django rest 框架中。首先我们编写一段代码,将base64编码的图片插入到imagefield中进行测试,出现如下错误。
binascii.Error:不正确的填充
我不明白的是,我之前使用过相同的代码并且没有出现这样的错误。你能帮助我吗?这是我的代码。
序列化程序.py
from rest_framework import serializers
from .models import post, comment
class Base64ImageField (serializers.ImageField) :
def to_internal_value (self, data) :
from django.core.files.base import ContentFile
import base64
import six
import uuid
if isinstance(data, six.string_types):
if 'data:' in data and ';base64,' in data :
header, data = data.split(';base64,')
try :
decoded_file = base64.b64decode(data)
except TypeError :
self.fail('invalid_image')
file_name = str(uuid.uuid4())[:12]
file_extension = self.get_file_extension(file_name, decoded_file)
complete_file_name = "%s.%s" % (file_name, file_extension, )
data = ContentFile(decoded_file, name=complete_file_name) …Run Code Online (Sandbox Code Playgroud) 我正在 django 中使用 simple-jwt 模块实现登录功能。这时候,只有通过邮箱认证的用户才能登录,这个条件句出现如下错误。
TypeError 'bool' 对象在 Django 中不可调用
我不知道为什么我不能引入 bool 类型变量。我该如何解决这个错误?这是我的代码。
视图.py
from .models import User
from .utils import Util
from .serializers import customRegisterSerializer, customLoginSerializer, customTokenRefreshSerializer, userProfileSerializer
from rest_framework.permissions import IsAuthenticated
from rest_framework.generics import GenericAPIView
from rest_framework_simplejwt.tokens import RefreshToken
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
from rest_framework.viewsets import ModelViewSet
from rest_framework.response import Response
from django.urls import reverse
from django.conf import settings
from django.contrib.sites.shortcuts import get_current_site
import jwt
class customSignUpView (GenericAPIView) :
serializer_class = customRegisterSerializer
def post (self, request) : …Run Code Online (Sandbox Code Playgroud) 我在 DRF 中进行自定义,以便在正文或标题中输入空值时给出错误响应值。然而,挤压代码后,测试结果出现以下错误。
\n\n\nAttributeError:“set”对象没有属性“items”
\n
我不知道这个错误意味着什么,也不知道为什么会发生。你能告诉我我的代码有什么问题吗?这是我的代码。
\n视图.py
\nclass CreatePostView (ModelViewSet) :\n serializer_class = PostSerializer\n permission_classes = [IsAuthenticated]\n queryset = Post.objects.all()\nRun Code Online (Sandbox Code Playgroud)\n序列化器.py
\nclass PostSerializer (serializers.ModelSerializer) :\n author = serializers.CharField(source='author.username', read_only=True)\n title = serializers.CharField(allow_null=True)\n text = serializers.CharField(allow_null=True)\n image = ImageSerializer(many=True)\n\n class Meta:\n model = Post\n fields = ['pk', 'author', 'title', 'text', 'like', 'liker', 'image', 'view']\n\n def validate (self, attrs) :\n title = attrs.get('title', '')\n text = attrs.get('text', '')\n\n error = {}\n\n if title is None …Run Code Online (Sandbox Code Playgroud)