| |
| from django.shortcuts import render, HttpResponse |
| from django.views import View |
| class CBVTest(View): |
| |
| def dispatch(self, request, *args, **kwargs): |
| pass |
| super().dispatch(request, *args, **kwargs) |
| pass |
| |
| def get(self, request): |
| return render(request, 'cbv.html') |
| |
| def post(self, request): |
| return HttpResponse('cbv post method') |
| |
| <form action="/cbv/" method="post"> |
| {% csrf_token %} |
| <input type="text" name="usr"> |
| <button type="submit">提交</button> |
| </form> |
| |
| from app import views |
| urlpatterns = [ |
| url(r'^cbv/', views.CBVTest.as_view()), |
| ] |
| |
| from rest_framework.views import APIView |
| from rest_framework.response import Response |
| user_list = [{'id': 1, 'name': 'Bob'}, {'id': 2, 'name': 'Tom'}] |
| class Users(APIView): |
| def get(self, request, *args, **kwargs): |
| return Response({ |
| 'status': 0, |
| 'msg': 'ok', |
| 'results': user_list |
| }) |
| def post(self, request, *args, **kwargs): |
| |
| name = request.data.get('name') |
| id = len(user_list) + 1 |
| user = {'id': id, 'name': name} |
| user_list.append(user) |
| return Response({ |
| 'status': '0', |
| 'msg': 'ok', |
| 'results': user |
| }) |
| |
| from app import views |
| urlpatterns = [ |
| url(r'^users/', views.Users.as_view()), |
| ] |
| |
| |
| view = super(APIView, cls).as_view(**initkwargs) |
| |
| return csrf_exempt(view) |
| |
| |
| |
| request = self.initialize_request(request, *args, **kwargs) |
| |
| self.initial(request, *args, **kwargs) |
| |
| |
| |
| |
| |
| |
| self.perform_authentication(request) |
| |
| self.check_permissions(request) |
| |
| self.check_throttles(request) |