Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用rest框架在django中切换相同URL但不同方法的视图?_Python_Django_Django Rest Framework_Django Views - Fatal编程技术网

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

Python 使用rest框架在django中切换相同URL但不同方法的视图?,python,django,django-rest-framework,django-views,Python,Django,Django Rest Framework,Django Views,基于方法在同一url上处理视图路由的最“pythonic”的方法是什么?我不喜欢这个解决方案 if(request.method == 'GET'): ....... 有更好的方法吗?Django View是最具Python风格的代码 from django.http import HttpResponse from rest_framework.views import APIView class MyView(APIView): def get(self, request

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

if(request.method == 'GET'):
    .......

有更好的方法吗?

Django View是最具Python风格的代码

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')

按照DRF文档中的建议,使用基于类的视图。“视图集类只是一种基于类的视图,它不提供任何方法处理程序,如.get()或.post(),而是提供操作,如.list()和.create()。”另请参见:辅助视图集。他们将负责路由和路由器
from django.conf.urls import url
from myapp.views import MyView

urlpatterns = [
    url(r'^about/$', MyView.as_view(), name='view'),
]