1
내 장고 API에 문제가 있습니다. 나는 잘 작동하는 웹 사이트를 가지고 있고 이제는 Android app을 만들기 위해 장고 - 피스톤으로 API를 만들고 싶습니다. 데이터를 얻으려고 할 때 url에 키를 보내면 api 프로젝트의 핸들러가 비어 있습니다. 이것들은 api app 내 urls.py와 handlers.py입니다.장고 피스톤과 잘못된 방향 전환
urls.py
from django.conf.urls.defaults import *
from piston.resource import Resource
from myproject.api.handlers import ProgramadorHandler
from myproject.api.handlers import UserHandler
from myproject.api.handlers import GetProgHandler
from myproject.api.handlers import GetUserHandler
prog_handler = Resource(ProgramadorHandler)
user_handler = Resource(UserHandler)
get_prog_handler = Resource(GetProgHandler)
get_user_handler = Resource(GetUserHandler)
urlpatterns = patterns('',
url(r'^1.0/(?P<username>)\w+/(?P<password>)\w+/(?P<api_key>)\d+/programadores.(?P<emitter_format>.+)$', prog_handler),
url(r'^1.0/(?P<username>)\w+/(?P<password>)\w+/(?P<api_key>)\d+/programadores/(?P<prog_id>\d+)/prog.(?P<emitter_format>.+)$', get_prog_handler),
url(r'^1.0/(?P<username>)\w+/(?P<password>)\w+/(?P<api_key>)\d+/usuarios.(? P<emitter_format>.+)$', user_handler),
url(r'^1.0/(?P<username>)\w+/(?P<password>)\w+/(?P<api_key>)\d+/user.(? P<emitter_format>.+)$', get_user_handler),
)
는 그리고 이것은 내가 그 문제를 해결할 수 있습니다 어떻게 내 handlers.py
from piston.handler import BaseHandler
from piston.utils import rc, HttpStatusCode
from myproject.web.models import *
from django.contrib.auth import authenticate
class ProgramadorHandler(BaseHandler):
allowed_methods = ('GET',)
model = Programador
def read(self, request, username, password, api_key):
user = authenticate(username=username, password=password)
# if (api_key != 29010):
# return rc.FORBIDDEN
if user is not None:
return Programador.objects.filter(nombre="Programador completo 2")
return Programador.objects.all()
class GetProgHandler(BaseHandler):
allowed_methods = ('GET',)
model = Programador
def read(self, request, username, password, api_key, prog_id):
user = authenticate(username=username, password=password)
if user is None or (api_key != 29010):
return rc.FORBIDDEN
return Programador.objects.all()
class UserHandler(BaseHandler):
allowed_methods = ('GET',)
model = Usuario
def read(self, request, username, password, api_key):
user = authenticate(username=username, password=password)
if(api_key != 29010):
return rc.FORBIDDEN
return Usuario.objects.all()
class GetUserHandler(BaseHandler):
allowed_methods = ('GET',)
model = Usuario
def read(self, request, username, password, api_key):
#user = authenticate(username=username, password=password)
# if (api_key != 29010):
# user = "hola"
#return rc.FORBIDDEN
return Usuario.objects.get(username="ersame")
입니까?