405 méthode POST pas permis

Je suis en train de développer un REPOS fournisseur avec OAuth. Je suis l'aide de Django RESTFramework et DjangoOAuthToolkit. J'ai fait un GET et il fonctionne parfaitement mais je suis en train d'utiliser un POSTE et le serveur répond avec {"detail": "Méthode" POST "pas autorisé".}
C'est mon code:

# views.py
@api_view(['POST'])
def pruebapost(request):
    usuario = User()
    access_token = Token.objects.get(
        key=request.POST['oauth_token']
    )
    usuario = access_token.user
    content = {'saludo': usuario.username}
    return Response(content)

# settings.py
OAUTH_AUTHORIZE_VIEW = 'principal.views.oauth_authorize'
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
REST_FRAMEWORK = {
   'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    ),
   'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
    ),
   'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.OAuthAuthentication',
    ),
}

Et je suis à l'utilisation de ce comme un "test" client:

import urlparse
import oauth2 as oauth
import requests

consumer_key = "clave"
consumer_secret = "secreto"
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
resource_url = 'http://blablabla.pythonanywhere.com/prueba'
consumer = oauth.Consumer(key='clave', secret='secreto')
token = oauth.Token(key='e7456187a43141af8d2e0d8fa99b95b9',
                    secret='3wRIKoacff16tcew')

oauth_request = oauth.Request.from_consumer_and_token(
    consumer,
    token,
    http_method='POST',
    http_url=resource_url,
    parameters={'hola':'pepe'}
)
oauth_request.sign_request(
    oauth.SignatureMethod_HMAC_SHA1(),
    consumer,
    token
)
url = oauth_request.to_url()
response = requests.post(url, oauth_request.to_postdata())
print response.content

Je ne comprends pas ce REPOS Cadre de la documentation dit à propos de 405 method not allowed

"Soulevées lors de la réception d'une demande se produit qui ne correspond pas à une méthode de gestionnaire de la vue."

Grâce

  • Fondamentalement, cette erreur signifie que vous n'avez pas le droit spécifique de la méthode HTTP à être appelé sur un point de vue spécifique, ou, plus souvent que vous êtes à l'appel d'une url erronée. Vérifier si vous appelez le bon. Vous pouvez également fournir votre url config ici.
  • Problème résolu, je manque un slash sur l'url. Très nooby question. Merci!
  • double possible de Django/DRF - 405 method not allowed sur l'opération de SUPPRESSION
  • Dans mon cas, le point de terminaison n'était même pas disponible. J'ai oublié de l'ajouter à la urls.py. Très déroutant.
InformationsquelleAutor user2663554 | 2014-04-10