#views
from django.shortcuts import get_object_or_404
from .serializers import UserSerializer
from rest_framework.renderers import TemplateHTMLRenderer
from rest_framework.views import APIView
class UserDetails(APIView):
renderer_classes = [TemplateHTMLRenderer]
template_name = 'home1.html'
def get(self, request, pk):
profile = get_object_or_404(User, pk=pk)
serializer = User(profile)
return Response({'serializer': serializer, 'profile': profile})
def post(self, request, pk):
profile = get_object_or_404(User, pk=pk)
serializer = UserSerializer(profile, data=request.data)
if not serializer.is_valid():
return Response({'serializer': serializer, 'profile': profile})
serializer.save()
return redirect('')
введите сюда код
#url
urlpatterns = [
path('<pk>/', views.UserDetails.as_view()),
path("admin/", admin.site.urls),
]
#settings
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renderers.TemplateHTMLRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
],
#template
{% load rest_framework %}
<html><body>
<h1>Profile - {{ profile.name }}</h1>
<form action="{% url '' pk=profile.pk %}" method="POST">
{% csrf_token %}
{% render_form serializer %}
<input type="submit" value="Save">
</form>
</body></html>