优化restful接口视图
This commit is contained in:
parent
761dc3d467
commit
6e0de01cb1
@ -25,8 +25,8 @@ sitemaps = SitemapAll()
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('',include('app_doc.urls')), # doc应用
|
path('',include('app_doc.urls')), # doc应用
|
||||||
path('user/',include('app_admin.urls'),), # admin应用
|
path('user/',include('app_admin.urls'),), # admin应用
|
||||||
path('api/',include('app_api.urls')), # API应用
|
path('api/',include('app_api.urls')), # 用户 Token API 接口
|
||||||
path('api_app/',include('app_api.urls_app')), # App的API接口
|
path('api_app/',include('app_api.urls_app')), # RESTFUL API 接口
|
||||||
re_path('^static/(?P<path>.*)$',serve,{'document_root':settings.STATIC_ROOT}),# 静态文件
|
re_path('^static/(?P<path>.*)$',serve,{'document_root':settings.STATIC_ROOT}),# 静态文件
|
||||||
re_path('^media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT}),# 媒体文件
|
re_path('^media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT}),# 媒体文件
|
||||||
path('sitemap.xml', views.index, {'sitemaps': sitemaps,'template_name':'sitemap/sitemap-index.xml'},name='sitemap',), # 站点地图索引
|
path('sitemap.xml', views.index, {'sitemaps': sitemaps,'template_name':'sitemap/sitemap-index.xml'},name='sitemap',), # 站点地图索引
|
||||||
|
|||||||
@ -27,20 +27,21 @@ import os
|
|||||||
|
|
||||||
'''
|
'''
|
||||||
响应:
|
响应:
|
||||||
code:状态码
|
code:状态码
|
||||||
data:数据
|
data:数据
|
||||||
|
|
||||||
状态码:
|
状态码:
|
||||||
0:成功
|
0:成功
|
||||||
1:资源未找到
|
1:资源未找到
|
||||||
2:无权访问
|
2:无权访问
|
||||||
3:需要访问码
|
3:需要访问码
|
||||||
4:系统异常
|
4:系统异常
|
||||||
5:参数不正确
|
5:参数不正确
|
||||||
6:需要登录
|
6:需要登录
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
# 生成Token的函数
|
# 生成Token的函数
|
||||||
def get_token_code(username):
|
def get_token_code(username):
|
||||||
"""
|
"""
|
||||||
@ -625,28 +626,25 @@ class DocView(APIView):
|
|||||||
|
|
||||||
# 文档模板视图
|
# 文档模板视图
|
||||||
class DocTempView(APIView):
|
class DocTempView(APIView):
|
||||||
authentication_classes = (AppAuth,SessionAuthentication)
|
authentication_classes = (AppMustAuth,SessionAuthentication)
|
||||||
|
|
||||||
# 获取文档模板
|
# 获取文档模板
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
if request.auth:
|
temp_id = request.query_params.get('id','')
|
||||||
temp_id = request.query_params.get('id','')
|
if temp_id != '':
|
||||||
if temp_id != '':
|
doctemp = DocTemp.objects.get(id=int(temp_id))
|
||||||
doctemp = DocTemp.objects.get(id=int(temp_id))
|
if request.user == doctemp.create_user:
|
||||||
if request.user == doctemp.create_user:
|
serializer = DocTempSerializer(doctemp)
|
||||||
serializer = DocTempSerializer(doctemp)
|
resp = {'code': 0, 'data': serializer.data}
|
||||||
resp = {'code': 0, 'data': serializer.data}
|
|
||||||
else:
|
|
||||||
resp = {'code':2,'data':_('无权操作')}
|
|
||||||
else:
|
else:
|
||||||
doctemps = DocTemp.objects.filter(create_user=request.user)
|
resp = {'code':2,'data':_('无权操作')}
|
||||||
page = PageNumberPagination()
|
|
||||||
page_doctemps = page.paginate_queryset(doctemps,request,view=self)
|
|
||||||
serializer = DocTempSerializer(page_doctemps,many=True)
|
|
||||||
resp = {'code':0,'data':serializer.data,'count':doctemps.count()}
|
|
||||||
return Response(resp)
|
|
||||||
else:
|
else:
|
||||||
return Response({'code': 6, 'data': _('请登录')})
|
doctemps = DocTemp.objects.filter(create_user=request.user)
|
||||||
|
page = PageNumberPagination()
|
||||||
|
page_doctemps = page.paginate_queryset(doctemps,request,view=self)
|
||||||
|
serializer = DocTempSerializer(page_doctemps,many=True)
|
||||||
|
resp = {'code':0,'data':serializer.data,'count':doctemps.count()}
|
||||||
|
return Response(resp)
|
||||||
|
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
try:
|
try:
|
||||||
@ -709,24 +707,22 @@ class DocTempView(APIView):
|
|||||||
|
|
||||||
# 图片视图
|
# 图片视图
|
||||||
class ImageView(APIView):
|
class ImageView(APIView):
|
||||||
authentication_classes = (AppAuth,SessionAuthentication)
|
authentication_classes = (AppMustAuth,SessionAuthentication)
|
||||||
|
|
||||||
|
# 获取
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
if request.auth:
|
g_id = int(request.query_params.get('group', 0)) # 图片分组id
|
||||||
g_id = int(request.query_params.get('group', 0)) # 图片分组id
|
if int(g_id) == 0:
|
||||||
if int(g_id) == 0:
|
image_list = Image.objects.filter(user=request.user) # 查询所有图片
|
||||||
image_list = Image.objects.filter(user=request.user) # 查询所有图片
|
elif int(g_id) == -1:
|
||||||
elif int(g_id) == -1:
|
image_list = Image.objects.filter(user=request.user, group_id=None) # 查询指定分组的图片
|
||||||
image_list = Image.objects.filter(user=request.user, group_id=None) # 查询指定分组的图片
|
|
||||||
else:
|
|
||||||
image_list = Image.objects.filter(user=request.user, group_id=g_id) # 查询指定分组的图片
|
|
||||||
page = PageNumberPagination()
|
|
||||||
page_images = page.paginate_queryset(image_list,request,view=self)
|
|
||||||
serializer = ImageSerializer(page_images,many=True)
|
|
||||||
resp = {'code':0,'data':serializer.data,'count':image_list.count()}
|
|
||||||
return Response(resp)
|
|
||||||
else:
|
else:
|
||||||
return Response({'code': 6, 'data': '请登录'})
|
image_list = Image.objects.filter(user=request.user, group_id=g_id) # 查询指定分组的图片
|
||||||
|
page = PageNumberPagination()
|
||||||
|
page_images = page.paginate_queryset(image_list,request,view=self)
|
||||||
|
serializer = ImageSerializer(page_images,many=True)
|
||||||
|
resp = {'code':0,'data':serializer.data,'count':image_list.count()}
|
||||||
|
return Response(resp)
|
||||||
|
|
||||||
# 上传
|
# 上传
|
||||||
def post(self, request):
|
def post(self, request):
|
||||||
@ -763,7 +759,7 @@ class ImageView(APIView):
|
|||||||
|
|
||||||
# 图片分组视图
|
# 图片分组视图
|
||||||
class ImageGroupView(APIView):
|
class ImageGroupView(APIView):
|
||||||
authentication_classes = (AppAuth,SessionAuthentication)
|
authentication_classes = (AppMustAuth,SessionAuthentication)
|
||||||
|
|
||||||
def get(self, request):
|
def get(self, request):
|
||||||
try:
|
try:
|
||||||
@ -818,7 +814,7 @@ class ImageGroupView(APIView):
|
|||||||
|
|
||||||
# 附件视图
|
# 附件视图
|
||||||
class AttachmentView(APIView):
|
class AttachmentView(APIView):
|
||||||
authentication_classes = (AppAuth,SessionAuthentication)
|
authentication_classes = (AppMustAuth,SessionAuthentication)
|
||||||
|
|
||||||
# 文件大小 字节转换
|
# 文件大小 字节转换
|
||||||
def sizeFormat(size, is_disk=False, precision=2):
|
def sizeFormat(size, is_disk=False, precision=2):
|
||||||
|
|||||||
@ -54,8 +54,10 @@ def get_pro_toc(pro_id):
|
|||||||
# except:
|
# except:
|
||||||
# print("重新生成")
|
# print("重新生成")
|
||||||
# 查询存在上级文档的文档
|
# 查询存在上级文档的文档
|
||||||
parent_id_list = Doc.objects.filter(top_doc=pro_id, status=1).exclude(parent_doc=0).values_list('parent_doc',
|
parent_id_list = Doc.objects.filter(
|
||||||
flat=True)
|
top_doc=pro_id,
|
||||||
|
status=1
|
||||||
|
).exclude(parent_doc=0).values_list('parent_doc',flat=True)
|
||||||
# 获取存在上级文档的上级文档ID
|
# 获取存在上级文档的上级文档ID
|
||||||
# print(parent_id_list)
|
# print(parent_id_list)
|
||||||
doc_list = []
|
doc_list = []
|
||||||
@ -75,7 +77,10 @@ def get_pro_toc(pro_id):
|
|||||||
if doc['id'] in parent_id_list:
|
if doc['id'] in parent_id_list:
|
||||||
# 获取二级文档
|
# 获取二级文档
|
||||||
sec_docs = Doc.objects.filter(
|
sec_docs = Doc.objects.filter(
|
||||||
top_doc=pro_id, parent_doc=doc['id'], status=1).values('id', 'name','open_children').order_by('sort')
|
top_doc=pro_id,
|
||||||
|
parent_doc=doc['id'],
|
||||||
|
status=1
|
||||||
|
).values('id', 'name','open_children').order_by('sort')
|
||||||
top_item['children'] = []
|
top_item['children'] = []
|
||||||
for doc in sec_docs:
|
for doc in sec_docs:
|
||||||
sec_item = {
|
sec_item = {
|
||||||
@ -88,7 +93,10 @@ def get_pro_toc(pro_id):
|
|||||||
if doc['id'] in parent_id_list:
|
if doc['id'] in parent_id_list:
|
||||||
# 获取三级文档
|
# 获取三级文档
|
||||||
thr_docs = Doc.objects.filter(
|
thr_docs = Doc.objects.filter(
|
||||||
top_doc=pro_id, parent_doc=doc['id'], status=1).values('id','name').order_by('sort')
|
top_doc=pro_id,
|
||||||
|
parent_doc=doc['id'],
|
||||||
|
status=1
|
||||||
|
).values('id','name').order_by('sort')
|
||||||
sec_item['children'] = []
|
sec_item['children'] = []
|
||||||
for doc in thr_docs:
|
for doc in thr_docs:
|
||||||
item = {
|
item = {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user