以目前流行的restfull API来说,django提供了一些便捷的处理方式让我们使用。
但是在实作方面时常需要拿A又拿B,改A在删B,使用了此种风格的API後,
在灵活性上就缺失了一些,但本篇不讨论此内容,小弟实作了一些时间,也找寻了很多方法,还是认为没有哪个风格最完美,还是依照各自需求来决定。
风格是人订的,写法是好坏,各位同事间协调好就好 !!
此种方法会让接口杂乱,不易维护
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('getQuestionAPI', views.getQuestionAPI, name = 'getQuestionAPI'),
path('postQuestionAPI', views.postQuestionAPI, name = 'postQuestionAPI')
]
# views.py
def getQuestionAPI(request):
# 取得资料
pass
def postQuestionAPI(request):
# 新增资料
pass
这样写的好处为接口乾净简洁,并且根据http方法请求来判断 增、修、改、查等等动作
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('QuestionAPI', views.QuestionAPI, name = 'QuestionAPI')
]
# views.py
def QuestionAPI(request):
httpMethod = request.method
if httpMethod == 'GET':
return HttpResponse('取得资料')
else if httpMethod == 'POST':
return HttpResponse('新增资料')
django 提供了一个更简洁的写法 详细可参考官方文档
# urls.py
from django.urls import path
from . import views
urlpatterns = [
# 这里在 QuestionAPI後面加上.as_view()
path('QuestionAPI', views.QuestionAPI.as_view(), name = 'QuestionAPI'),
]
# views.py
class QuestionAPI(View):
def get(self, request):
return HttpResponse('请求资料')
def post(self, request):
return HttpResponse('新增资料')
官方上还有很多基於类的视图,有兴趣能够在更深入研究,会让实作起来更快速方便。
这系列内容主要内容是在讲如何用 Next.js 取代 WordPress 前端,因此约 70% 内容...
上次试了一般转圈圈的progressbar,这次换进度条的progressbarr 首先是xml &...
前言 昨天我们用sqlmap突破了防守,取得了一些看起来像是帐号密码的东西 user_id user...
大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...
大纲 安装 Ultimate Member plugin UM三大表单 实作律师卡片呈现页 终於到了...