2016-07-14 11 views
1

私はdjango restフレームワークと関数ベースのビューを使用して作業しています。私は2つの関数を使用して、1つはhtmlをレンダリングし、もう1つはjson応答のために使用します。どのように私はより多くのeffecientコードを持っている機能両方を組み合わせできDjango:JSONレスポンスと関数ベースのビューでレンダリング

私のコード

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) 

答えて

0

DRFチュートリアルのpart2で説明したようにこれは、あなたのシリアライザで扱うことができます。

それはこのように動作します:フォーマット引数に基づいて

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 
    ... 

、あなたは、レンダリングされる要求にあなたがしたい決めることができます。

関連する問題