Django基本配置-前后端分离

views中返回的是json串

fvb

 1 from django.forms import model_to_dict
 2 # django中model对象转字典的方法
 3 from django.http import JsonResponse
 4 # django中字典转Json 串的方法
 5 from .models import CaseSet,Case
 6 def case_set(request):
 7     # 添加用例集合   post
 8     name=request.POST.get('name')
 9     desc=request.POST.get('desc')
10     CaseSet.objects.create(name=name,desc=desc)
11     if name.strip() and desc.strip():
12         data={'code':0,'msg':'成功'}
13         # 前后端分离的开发后端只需要返回json串    post请求,返回了错误代码和错误提示
14     else:
15         data={'code':-1,'msg':'失败'}
16     return JsonResponse(data,json_dumps_params={'ensure_ascii':False})
17     # django中字典转Json串的方法 是 JsonResponse
18     # 在flask中用过的,把中文显示出来要加的 ensure_ascii=false ,在djangoz中以这种字典的形式来写
 1 def case_set_all(request): #get
 2     case_sets=CaseSet.objects.filter(is_delete=False)
 3     data=[]
 4     for c in case_sets:
 5         # 查询结果为一个包含model对象的列表 循环该列表获取到每一个Model对象
 6         case=model_to_dict(c)
 7         # 把Model对象转换成字典
 8         data.append(case)
 9         # 把这些字典添加一个list中
10     response={'code':0,'msg':'成功','data':data}
11     return JsonResponse(response,json_dumps_params={'ensure_ascii':False})

cvb

 1 from django.views import View
 2 from . import models
 3 class CaseSet(View):
 4     # cvb的方式统一实现测试集合的增删改查
 5     def get(self,request):
 6         case_sets = models.CaseSet.objects.filter(is_delete=False)
 7         data = []
 8         for c in case_sets:
 9             # 查询结果为一个包含model对象的列表 循环该列表获取到每一个Model对象
10             case = model_to_dict(c)
11             # 把Model对象转换成字典
12             data.append(case)
13             # 把这些字典添加一个list中
14         response = {'code': 0, 'msg': '成功', 'data': data}
15         return JsonResponse(response, json_dumps_params={'ensure_ascii': False})
16     def post(self,request):
17         name = request.POST.get('name')
18         desc = request.POST.get('desc')
19         models.CaseSet.objects.create(name=name, desc=desc)
20         if name.strip() and desc.strip():
21             data = {'code': 0, 'msg': '成功'}
22             # 前后端分离的开发后端只需要返回json串 post请求,返回了错误代码和错误提示
23         else:
24             data = {'code': -1, 'msg': '失败'}
25         return JsonResponse(data, json_dumps_params={'ensure_ascii': False})

urls

可以在每个子项目下单独有一个url目录

需要在总的url文件中中把子项目的url添加进来

1,在子项目下新建urls.py

1 from django.urls import path
2 from .views import case_set,case_set_all,CaseSet,CaseView
3 # from .views import CaseSet,CaseView
4 urlpatterns=[
5     path('add_case_set/',case_set),
6     path('case_set/',case_set_all),
7 ]

2,在总的urls.py中添加上子项目的urls

1 from testcase import urls
2 # 导入子项目的urls
3 path('testcase/',include(urls)),
4 # 导入子项目中的url。第一个同样表示url的前缀

猜你喜欢

转载自www.cnblogs.com/beautyl/p/12734947.html
今日推荐