[英]Hello world Pyamf small error message
嗨,我正在嘗試使用 Pyamf 將 flex 鏈接到 django
作為第一步,我嘗試了基本的 Hello World http://pyamf.org/wiki/DjangoHowto
但這會導致 ErrorFault。
我使用 django 1.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' object has no attribute 'name e '" Traceback: u “找不到路徑 ['/gateway/myservice/echo'] 的視圖,'DjangoGateway' object 沒有屬性 ' name '”
我認為您可能需要從 echo def 中取出請求參數,至少 pyamf 示例站點上的方法在方法中沒有該參數
盡管錯誤無關,但 JMP 是正確的 - 您在網關上設置了expose_request=False
,並且 echo 的服務定義的第一個參數為 Django Http 請求 object。
這是行不通的,但是 PyAMF 在這里確實允許一些粒度,您可以使用 expose_request 裝飾器,例如:
from pyamf.remoting.gateway import expose_request
@expose_request
def echo(request, data):
return echo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.