django-repos-cadre de limiter le allowed_methods pour OBTENIR
Je viens de commencer avec django-repos-cadre.
Assez enthousiaste à ce sujet, sauf pour le fait qu'il ya très peu d'exemples disponibles.
l'obtention de l'api de travail se passe très bien, mais tous les extras, est un casse-tête.
(ajout de champs personnalisés, etc.)
Maintenant, je me demande comment vous pouvez limiter la allowed_methods, par exemple, dans une liste ou une fenêtre detravail.
En ajoutant ceci à la classe dans le views.py comme je l'ai lu quelque part qu'une réponse... ne semble pas avoir d'effet:
allowed_methods = ('GET',)
OriginalL'auteur michel.iamit | 2012-03-03
Vous devez vous connecter pour publier un commentaire.
Django-repos-cadre en réalité de très nombreux exemples..
Prendre un coup d'oeil à http://django-rest-framework.org, http://django-rest-framework.org/contents.html et http://rest.ep.io/ pour certains de bons exemples et de la documentation.
Si vous êtes à la conception d'un RESTE de la fonction par vous-même, ne pas utiliser du tout de django-reste-cadre magique (comme le reste.ep.io) pour générer pour vous, vous devriez regarder dans mixin (http://django-rest-framework.org/howto/mixin.html).
Si vous souhaitez restreindre pour ne recevoir que les méthodes. Utilisez simplement def get(...) et la classe mixin.
Exemple de lien:
urls.py
Ah, j'en ai oublié le reste.ep.oi c'est un lien très utile! (désolé, pour de nombreuses soirées à travailler sur ce que je Suppose)
Par ailleurs, la réponse à ma question initiale est dans la réponse que j'ai ajouté myselve, cependant, c'est utile de ne pas accepter que LA réponse, donc merci!
Bon! J'ai été tripoter beaucoup avec cela. Je suis également venu de la même repos cadre de la allowed_methods (ne me souviens pas le nom). Je suis très heureux avec django-repos-cadre. Bonne chance 🙂
OriginalL'auteur xeor
Si vous utilisez ModelViewSet et encore envie de restreindre certaines méthodes, vous pouvez ajouter
http_method_names
.Exemple:
Une fois que vous faites cela,
get
,post
ethead
seront autorisés. Maisput
,patch
etdelete
ne seront pas autorisés.Je suis d'accord. J'avais prévu de certaines constantes comme
AllowAllMethods
équivalent à laAllowAny
permission par exemple.OriginalL'auteur Akshar Raaj
Comme presque tout dans django-repos-cadre, une fois que vous l'avez trouvée, elle est très simple.
Dans l'url au lieu de l'aide de ListOrCreateModelView j'ai eu à utiliser ListModelView.
OriginalL'auteur michel.iamit
Désolé pour le nécro, mais je suis tombé sur cette question, la recherche d'un problème similaire.
Je ne voulais permettre
retrieve()
mais pas àlist()
. Ce que j'ai fait:OriginalL'auteur kunambi