【发布时间】:2020-10-19 13:09:13
【问题描述】:
我正在尝试将 HTML 模板代码直接添加到 django-rest-framework 中的数据库中。 并希望使用 json 作为检索并添加 html 代码。我该怎么做?
class AddHTML(models.Model):
template_name = models.CharField(max_length=50, default="")
HTML_code = models.TextField(default="")
def __str__(self):
return self.template_name
serializer.py
class AddHTMLSerializer(serializers.ModelSerializer):
class Meta:
model = AddHTML
fields = '__all__'
views.py
class HTMLData(APIView):
def get(self, request, format=None):
html = AddHTML.objects.all()
serializer = AddHTMLSerializer(html, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = AddHTMLSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class HTMLDataDetail(APIView):
def get_object(self, id):
try:
return AddHTML.objects.get(id=id)
except AddHTML.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
def get(self, request, id, format=None):
html = self.get_object(id)
serializer = AddHTMLSerializer(html)
return Response(serializer.data)
def put(self, request, id, format=None):
html = self.get_object(id)
serializer = AddHTMLSerializer(html, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, id, format=None):
html = self.get_object(id)
html.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
在视图中我应该怎么做而不丢失 HTML 数据的任何标签,我可以轻松地从数据库中保存和检索。
【问题讨论】:
标签: django django-rest-framework