20

Django Rest Framework を使用して ModelResource または View を機能させるために、しばらく試してみました。例に従っていますが、例のコードが機能しません。このエラーが発生する理由を誰か教えてください。

ビュー.py

# Create your views here.
from django.http import HttpResponse
from django.utils import simplejson
from django.core import serializers

from djangorestframework.views import View
from djangorestframework.response import Response
from djangorestframework import status

from interface.models import *

def TestView(View):
    def get(self, request):
        return Person.objects.all()

urls.py

from django.conf.urls.defaults import *
from djangorestframework.resources import ModelResource
from djangorestframework.views import ListOrCreateModelView, InstanceModelView, View
from interface.models import *
from interface.views import *

class PersonResource(ModelResource):
    model = Person
    ordering = ('LastName')

    urlpatterns = patterns('',    
    url(r'^$', 'interface.views.index'),
    url(r'^testview/$', TestView.as_view()),
    url(r'^people/$', ListOrCreateModelView.as_view(resource=PersonResource)),
)

「関数」オブジェクトに属性「as_view」がありませんというエラーが表示されます。

4

5 に答える 5

68

これは、このエラー メッセージに対して Google で最もヒットしたものであり、OP よりも微妙でおそらく一般的な原因があるため、このコメントをここに投稿します。

__dispatch__このエラーは、ビュー内のメソッドでは なく、クラス ベースのビューで標準のビュー デコレータを使用することによっても発生する可能性があります。

于 2012-05-14T14:51:34.670 に答える
29

def TestView(View):である必要がありますclass TestView(View):。現状では、と呼ばTestViewれる引数を取るという関数を定義します。Viewその本体は内部関数を定義し、次にを返しますNone

于 2011-07-27T04:04:40.910 に答える
9
于 2014-01-23T11:17:01.053 に答える