0

私は過去 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

しかし、それは単に機能しません。どんな助けでも感謝します。

4

1 に答える 1

0

私はインポートを期待します:

from <yourapp>.forms import AddUserLocationAndDetailsForm

それ以外の:

from forms import AddUserLocationAndDetailsForm

それが役立つかどうかわからない....これにより、runserverでエラーが発生したり、ページが表示されたりするため、設定ファイルでデバッグモードがオンになっていますか?

また、URLファイルも提供できますか?

于 2012-07-11T23:02:13.740 に答える