1

こんにちは私はPyamfでflexをdjangoにリンクしようとしています

最初のステップとして、基本的なHelloWorldを試しました http://pyamf.org/wiki/DjangoHowto

しかし、その結果、ErrorFaultが発生します。

django1.0.2を使用しています

プロジェクトのルートフォルダーにあるamfgateway.py(設定と同じレベル)

import pyamf
from pyamf.remoting.gateway.django import DjangoGateway
from django.contrib.auth.models import User

pyamf.register_class(User, 'django.contrib.auth.models.User')

def get_users(requet):
    return User.objects.all()

def echo(request, data):
    return data

services = {
    'myservice.echo': echo,
    'myservice.get_users': get_users,
}

edoGateway = DjangoGateway(services, expose_request=False)

urls.pyで

urlpatterns = patterns('',

    # test pyamf
    url(r'^gateway/', 'amfgateway.edoGateway'),
    ...
)

次に、pyamfクライアントで例をテストすると

from pyamf.remoting.client import RemotingService

gw = RemotingService('http://127.0.0.1:8000/gateway/')
service = gw.getService('myservice')

print service.echo('Hello World!')

私は得る

ErrorFault level = error code = 500 type = u'AttributeError' description =u"パス['/gateway/ myservice / echo']のビューが見つかりません、'DjangoGateway'オブジェクトに属性がありません' nam e '"トレースバック:u "パス['/gateway/ myservice / echo']のビューが見つかりません、'DjangoGateway'オブジェクトに属性がありません' name '"

4

2 に答える 2

3

エコー定義からリクエストパラメーターを取り出す必要があるかもしれないと思います.少なくともpyamfサンプルサイトのメソッドには、メソッドにそのパラメーターがありません.

于 2009-03-10T18:54:05.330 に答える
2

エラーは関係ありませんが、JMPは正しいです-expose_request=Falseゲートウェイ上にあり、echoのサービス定義にはDjangoHttpリクエストオブジェクトとして最初の引数があります。

これは機能しませんが、PyAMFはここである程度の粒度を許可します。たとえば、expose_requestデコレータを使用できます。

from pyamf.remoting.gateway import expose_request

@expose_request
def echo(request, data):
    return echo
于 2009-12-05T20:48:25.910 に答える