from rest_framework.mixins import ListModelMixin
from utils.response import APIResponse
classCommonListModelMixin(ListModelMixin):deflist(self, request,*args,**kwargs):
res =super().list(request,*args,**kwargs)return APIResponse(result=res.data)
utils/response.py
from rest_framework.response import Response
classAPIResponse(Response):# 继承Response进行封装def__init__(self, code=200, msg='响应成功', status=None, headers=None,**kwargs):
data ={'code': code,'msg': msg}if kwargs:
data.update(kwargs)super().__init__(data=data, status=status, headers=headers)
home/views.py
rom rest_framework.viewsets import GenericViewSet
from utils.view import CommonListModelMixin
from home.models import Banner
from home.serializer import BannerSerializer
classBannerView(GenericViewSet, CommonListModelMixin):
queryset = Banner.objects.all().filter(is_delete=False, is_show=True).order_by('orders')
serializer_class = BannerSerializer
home/serializer.py
from rest_framework.serializers import ModelSerializer
from home.models import Banner
classBannerSerializer(ModelSerializer):classMeta:
model = Banner
fields =['title','image','link']
主路由:luffy_test/urls.py
from django.contrib import admin
from django.urls import path, include
from home import views
from django.views.static import serve
from django.conf import settings
urlpatterns =[
path('admin/', admin.site.urls),
path('api/v1/home/', include('home.urls')),# 开启media访问
path('media/<path:path>', serve, kwargs={'document_root': settings.MEDIA_ROOT}),]
=========================================================================================================================================
WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。描述的是Web服务器如何与Web应用间进行通信
它不是服务器、python模块、框架、API或者任何软件,只是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用Django、Flask框架写的程序)通信的规范。
WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。
=========================================================================================================================================
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。它要做的就是把HTTP协议转化成语言支持的网络协议。比如把HTTP协议转化成WSGI协议,让Python可以直接使用。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。
要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。
WSGI,是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用Django、Flask框架写的程序)通信协议。
uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,用于与nginx等代理服务器通信,它与WSGI相比是两样东西。
uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。
# 更多详情,请参考下方博客链接
https://www.liuqingzheng.top/article/1/05-CGI,FastCGI,WSGI,uWSGI,uwsgi%E4%B8%80%E6%96%87%E6%90%9E%E6%87%82/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?