使用rest框架在django中切换相同URL但不同方法的视图?

Giu*_*ppe 2 python django django-views django-rest-framework

基于方法处理同一 url 上的视图路由的最“Pythonic”方式是什么?我不喜欢这个解决方案

if(request.method == 'GET'):
    .......
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

小智 5

Django View 是最Pythonic 的代码。

from django.http import HttpResponse
from rest_framework.views import APIView

class MyView(APIView):
    def get(self, request):
        # <view logic>
        return HttpResponse('result')
    def post(self, request):
        # <view logic x2>
        return HttpResponse('message_post_template')
Run Code Online (Sandbox Code Playgroud)

urls.py

from django.conf.urls import url
from myapp.views import MyView

urlpatterns = [
    url(r'^about/$', MyView.as_view(), name='view'),
]
Run Code Online (Sandbox Code Playgroud)