2009-03-10 17 views
1

Merhaba ben temel Hello World http://pyamf.org/wiki/DjangoHowtoMerhaba dünya PyAMF küçük hata mesajı

çalıştı İlk adım olarak

PyAMF

ile django flex bağlamaya çalışıyorum Ama bu ErrorFault sonuçlanır.

Ben urls.py olarak Projemin kök klasöründe 1.0.2

Django (ayarlarıyla aynı seviyede)

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) 

amfgateway.py kullanmak

urlpatterns = patterns('', 

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

Sonra örneği pyamf istemcisi

ile test ettiğimde 10
from pyamf.remoting.client import RemotingService 

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

print service.echo('Hello World!') 

Ben

ErrorFault seviyesi = hata kodu = 500 type = u'AttributeError olsun' açıklaması = u "yolu için bir görünüm bulamıyor [ '/ ağ geçidi/MyService/echo'] yolu için bir görünüm bulamıyor [ '/ ağ geçidi/MyService/echo'], 'DjangoGateway' nesne ha yok niteliği ': 'DjangoGateway' nesne " u traceback" hayır özelliği 'ni enam' vardır name '"

+0

My i Django amf ile karıştırma edildi hata: middlwares içinde / – coulix

cevap

3

Ben hata ilgisiz olmasına rağmen, en azından PyAMF örnek sitedeki yöntem yönteminde

2

bu parametreyi yok senin yankı def dışarı istek parametresi alması gerekebilir düşünüyorum JMP olduğunu doğru - ağ geçidinde expose_request=False var ve eko için hizmet tanımı Django Http istek nesnesi olarak ilk argümana sahip.

Bu

sen expose_request dekoratör, ör .: kullanabilirsiniz, ancak PyAMF burada biraz ayrıntı düzeyi izin vermez, işe gitmiyor

from pyamf.remoting.gateway import expose_request 

@expose_request 
def echo(request, data): 
    return echo