Django5+React18前后端分离开发实战04 开发我们的后端服务
# 假设我们已经有了Django项目和React前端项目,以下是Django后端的一个简化示例。
# 在Django的views.py中创建一个API视图
from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import csrf_exempt
import json
# 假设我们有一个简单的用户模型和序列化器
from .models import User
from .serializers import UserSerializer
# 创建一个视图来获取所有用户
@csrf_exempt
def users_list(request):
# 获取所有用户
users = User.objects.all()
serializer = UserSerializer(users, many=True)
return JsonResponse(serializer.data, safe=False)
# 创建一个视图来获取单个用户
@csrf_exempt
def user_detail(request, pk):
try:
user = User.objects.get(pk=pk)
except User.DoesNotExist:
return JsonResponse({'error': 'User does not exist'}, status=404)
if request.method == 'GET':
serializer = UserSerializer(user)
return JsonResponse(serializer.data)
elif request.method == 'PUT':
data = json.loads(request.body)
serializer = UserSerializer(user, data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data)
return JsonResponse(serializer.errors, status=400)
elif request.method == 'DELETE':
user.delete()
return JsonResponse({'message': 'User was deleted successfully.'})
# 注册路由
# urls.py
from django.urls import path
from .views import users_list, user_detail
urlpatterns = [
path('users/', users_list),
path('users/<int:pk>/', user_detail),
]
这个示例展示了如何在Django中创建一个简单的RESTful API,包括获取所有用户和获取单个用户的接口。同时,它演示了如何使用JsonResponse
返回JSON格式的响应,以及如何处理HTTP GET, PUT 和 DELETE 请求。注意,这个示例假设你已经有了User模型和UserSerializer,并且已经在Django项目中正确设置了路由。
评论已关闭