Я пытаюсь создать django-поршневой API, который читает другой API и представляет его в другом формате (читает API только для XML и представляет его в JSON).Но у меня возникают проблемы, потому что, как я это делаю, я просто пустая строка.
Вот мой обработчик:
class MyHandler(BaseHandler):
methods_allowed = ('GET')
def read(self, request, my_argument):
my_node = get_node(my_argument)
return my_node
Функция get_node - это просто функция, которая получает объектиз другого API, и это объект lxml:
In [27]: type(my_node)
Out[27]: <type 'lxml.objectify.ObjectifiedElement'>
В моем urls.py у меня есть:
from django.conf.urls.defaults import *
from piston.resource import Resource
from api.handlers import MyHandler
class CsrfExemptResource( Resource ):
def __init__( self, handler, authentication = None ):
super( CsrfExemptResource, self ).__init__( handler, authentication )
self.csrf_exempt = getattr( self.handler, 'csrf_exempt', True )
my_resource = CsrfExemptResource( MyHandler )
urlpatterns = patterns( '',
url( r'^api/(?P<my_argument>.*)/$', my_resource ),
)
И когда я посещаю этот URL (с правильным аргументом,который передается непосредственно get_node, дает правильный объект), я просто получаю пустую строку.
Как заставить это работать?