2016-07-14 3 views
1

Ich arbeite an Django Rest Framework und mit einer Funktion basierte Ansichten. Ich verwende 2 Funktionen, eine, um HTML und eine andere für JSON-Antwort zu rendern. Wie kann ich sowohl die Funktion kombinieren leistungsfähigere CodeDjango: JSON-Antwort und Render in funktionsbasierter Ansicht

Mein Code

def register(request): 
    return render(request, 'register.html') 

@api_view(['POST']) 
@permission_classes((AllowAny,)) 
def create_user(request): 
    if request.method == 'POST': 
     serializer = SignupSerializer(data=request.data) 
     print 'ser' 
     print serializer 
     if not serializer.is_valid(): 
      return Response(serializer.errors,\ 
          status=status.HTTP_400_BAD_REQUEST) 
     else: 
      serializer.save() 
      return Response({ 
        'status': 'Created', 
        'message': 'Verification email has been sent to your email. Please verify your account.' 
       }, status=status.HTTP_201_CREATED) 

Antwort

0

haben Dies kann durch Ihre Serializer behandelt werden, wie es in part2 der DRF-Tutorial beschrieben.

Es funktioniert wie folgt:

urls.py

from django.conf.urls import url 
from rest_framework.urlpatterns import format_suffix_patterns 
from your_app import views 

urlpatterns = [ 
    url(r'^blahblah/$', views.create_user), 
] 

urlpatterns = format_suffix_patterns(urlpatterns) 

views.py

def create_user(request, format=None): # add this format argument 
    ... 

Basierend auf dem Argument Format, können Sie sich entscheiden, auf die Anfrage wollen gerendert werden .

Verwandte Themen