我使用 websocket 前端(Angular)后端(Django)创建实时聊天应用程序..我想将消息存储到 db(mySql)..当我尝试将消息数组从 Angular 存储到 django..它给我错误,如 500 内部server Eroor 并且为了允许非 dict 对象被序列化,将 safe 参数设置为 False。我在列表数组中发送消息数据..那么有什么问题吗?
模型.py
class msg(models.Model):
name = models.ForeignKey(User, on_delete=models.CASCADE)
receiver = models.CharField(max_length=20)
text = models.CharField(max_length=1200)
myDate = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
序列化器.py
class MesSerializer(serializers.ModelSerializer):
name = serializers.SlugRelatedField(many=False, slug_field='name', queryset=User.objects.all())
receiver = serializers.SlugRelatedField(many=False, slug_field='name', queryset=User.objects.all())
class Meta:
model = msg
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
视图.py
class msg_list(APIView):
def get(self, request, format=None):
mes = msg.objects.all()
serializer = MesSerializer(mes, many=True) # convert into JSON
return Response(serializer.data)
def post(self, request, formate = None):
data …Run Code Online (Sandbox Code Playgroud) 我使用 websocket 前端(angular)后端(Django)创建实时聊天应用程序。我想将消息存储到 db(mySql)中。当我尝试将消息从 angular 存储到 django 时......它给了我错误:
non_field_errors:
["Expected a list of items but got type "dict"."]
Run Code Online (Sandbox Code Playgroud)
那么有什么问题呢?
模型.py
class msg(models.Model):
name = models.ForeignKey(User, on_delete=models.CASCADE)
receiver = models.CharField(max_length=20)
text = models.CharField(max_length=1200)
myDate = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class MesSerializer(serializers.ModelSerializer):
name = serializers.SlugRelatedField(many=False, slug_field='name', queryset=User.objects.all())
class Meta:
model = msg
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
查看.py
class msg_list(APIView):
def get(self, request, format=None):
mes = msg.objects.all()
serializer = MesSerializer(mes, many=True) # convert into JSON
return Response(serializer.data)
def post(self, request, formate = None):
serializer = MesSerializer(data=request.data, …Run Code Online (Sandbox Code Playgroud) 我想在图像上设置水印文本...所以我尝试使用 PIL 库
def watermark_text(input_image,
output_image,
text, pos):
photo = Image.open(input_image)
drawing = ImageDraw.Draw(photo)
color = (255, 180, 80)
font = ImageFont.truetype("arial.ttf", 40)
drawing.text(pos, text, fill=color, font=font)
photo.show()
photo.save(output_image)
if __name__ == '__main__':
img = 'cat.jpg'
watermark_text(img, 'cats.jpg',
text='Sample Location Text',
pos=(180, 200))
Run Code Online (Sandbox Code Playgroud)
但我想要这种类型的十字和透明颜色的文本: