私は過去 2 日間、djangorestframework を使用して Get および Post というカスタムの REST インターフェイスを作成しようと試みてきました。問題なく動作します。
ただし、POST は機能しません。
以下は私がしたことです:
import logging
from django import forms
class AddUserLocationAndDetailsForm(forms.Form):
"""A simple form with some of the most important pygments settings.
The code to be highlighted can be specified either in a text field, or by URL.
We do some additional form validation to ensure clients see helpful error responses."""
user = forms.CharField(
label='User',
max_length=200)
fbemail = forms.CharField(
label='Facebook Email',
max_length=200)
対応する view.py ファイルを次のように書きました。
import logging
from djangorestframework.views import View
from djangorestframework.permissions import IsAuthenticated
from django.core.urlresolvers import reverse
from djangorestframework.response import Response
from djangorestframework import status
from forms import AddUserLocationAndDetailsForm
class AddUserLocationAndDetailsView(View):
"""
This view adds details of a user.
This view also performs functionalities to update location of a user if the user already exists.
"""
form = AddUserLocationAndDetailsForm
def get(self, request):
return "you have reached get"
def post(self, request):
return Response(status.HTTP_201_CREATED)
サーバーを実行すると、これを実行した後、2 つのフィールドを入力するための Web ページが表示されます。しかし、POST を送信するたびに、「このフィールドは必須です」というエラーが表示されます。何が起こっているのかわかりません。クラス AddUserLocationAndDetailsView の「投稿」機能にヒットしないため、これをデバッグする方法もわかりません。私は例で彼らがここで行った方法に従いました: http://django-rest-framework.org/examples/views.html
しかし、それは単に機能しません。どんな助けでも感謝します。