私はmongoengineとdjangoRESTframeworkをどのようにして相互に動作させることができるのでしょうか?現在、私のモデルはmongoengineとdjango restフレームワークを取得するのが好きです
from mongoengine import *
import datetime
class Blog(Document):
post_id = IntField(unique=True)
title = StringField(max_length=144, required=True)
date_created = DateTimeField(default=datetime.datetime.now)
body = StringField(required=True)
であり、私はシリアライザは
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import *
class BlogList(APIView):
"""
Lists all blog posts, or creates a new post
"""
def get(self, request, format=None):
posts = Blog.objects.to_json()
return Response(posts)
のように定義している。しかし、私は、次のトレースバックを与えるエラー
TypeError at /blog/
__init__() takes exactly 1 argument (2 given)
Request Method: GET
Request URL: http://127.0.0.1:8000/blog/
Django Version: 1.5.1
Exception Type: TypeError
Exception Value:
__init__() takes exactly 1 argument (2 given)
を受け付けております
response = callback(request, *callback_args, **callback_kwargs)
私の問題は、私のurls.pyファイルに.as_view()がないことが判明しました。変わったことは、restlib2を使ったビューでは必ずしも必要というわけではないということです。 – user1876508
これはrestlib2と思われます。 'Resource'クラスは普通の呼び出し可能なビューです。つまり、' Resource() 'は単に' Resource.dispatch() 'を呼び出すのに対し、Django RESTフレームワークはDjangoのクラスベースのビュー(http://django-rest-framework.org) /api-guide/views.htmlとhttps://docs.djangoproject.com/en/dev/topics/class-based-views/)には 'as_view()'が必要です。 –