2017-06-29 17 views
0

現在、Djangoプロジェクトの要件があります.Django APIの開発には、APIフレームワークを使用せずに開発する必要があります。ですから、私は第三者のフレームワークなしでAPIの作成をどのように行うことができるのかを知りたいと思います。APIフレームワークなしでDjango APIを作成する方法

+1

あなたがDjangoはフレームワークで、DjangoのAPIは、Djangoフレームワークが含まれていることを理解してください。 –

答えて

3

通常の関数ベースまたはクラスベースのビューをエンドポイントとして使用できます。違いは、レスポンスにHTMLを表示するのではなく、おそらくJSONを送信するということです。

特定のアクセス(すなわち方法、アクセス権など)を制限するためにはDjangoからデコレータに建てられたあなたが使用することができます

私のコードは次のようになります。

ビュー

@require_get 
@login_required 
def get_user(request, userId, *args, **kwargs): 
    user = get_object_or_404(User, pk=userId) 
    serializer = SomeSerializerClass(user) 
    return HttpResponse(serializer.jsonData(), content_type='application/json') 

URL

url('/user/(?P<userId>[0-9]+)/$', get_user, ...) 
+0

OPは、どのフレームワークも使用しないことを指定しています。質問そのものはあまり明確ではなく、ここでは休息の枠組みについて説明しました。これはOPの質問にどのように答えますか? –

+2

この例では、RestFrameworkのようなサードパーティのAPIフレームワークを使用せずにDjangoを使用してすべてが行われます。さて、Djangoを含むフレームワークを使わずにAPIを作成したいのであれば、彼は自分の質問で明確にしませんでした。 – Koralarts

+0

@Koralarts私はDjangoで作業する必要がありますが、DRFやTastypieのようなAPIフレームワークは使用できません –

3

あなたはあなたの意見にJSONデータを返すためにJsonResponseを使用することができます。

from django.http import JsonResponse 

def my_view(request): 
    questions = Question.objects.all() 
    return JsonResponse({'questions': questions}) 
関連する問題