Yo uso el marco REST de Django. En mi views.py tiene una clase:
class TaskViewSet(viewsets.ModelViewSet): queryset = Task.objects.all().order_by('-date_created') serializer_class = TaskSerializer print("leo test in TaskViewSet")Quiero imprimir ("prueba leo en TaskViewSet") cuando llamo a la URL cada vez.
Pero solo imprimirá 1 vez después de que use runserver cmd.
Alguien sabe cómo imprimir ("prueba leo en TaskViewSet") cada vez que llamo a la URL de la API.
Mis urls.py:
from django.conf.urls import url,include from django.contrib import admin from rest_framework import routers from trips.views import TaskViewSet router = routers.DefaultRouter() router.register(r'task',TaskViewSet) urlpatterns = [ url(r'^admin/', admin.site.urls), #url(r'^$', hello_world), url(r'^', include(router.urls)), ]Muchísimas gracias.
Tienes que definir acciones para obtener el comportamiento deseado. De forma predeterminada, el enrutador que ha definido está vinculado a varias acciones como crear, recuperar, enumerar, actualizar y destruir. Entonces, cuando implemente esas acciones a través de los métodos que se muestran a continuación, podrá imprimir en cada llamada de punto final.
class TaskViewSet(viewsets.ModelViewSet): queryset = Task.objects.all().order_by('-date_created') serializer_class = TaskSerializer print("leo test in TaskViewSet") def list(self, request): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND) def create(self, request): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND) def retrieve(self, request, pk=None): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND) def update(self, request, pk=None): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND) def partial_update(self, request, pk=None): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND) def destroy(self, request, pk=None): print("leo test in TaskViewSet") return Response("leo test in TaskViewSet", status=status.HTTP_404_NOT_FOUND)Avísame si algo no está claro. También lea aquí para obtener más detalles http://www.django-rest-framework.org/api-guide/viewsets/#marking-extra-actions-for-routing