Est-il acceptable d'utiliser Django pour écrire des URL et des vues pour écrire des interfaces ?
D'accord. Parce que la soi-disant interface est aussi une URL ordinaire.
Django a rest_framework, une forme d'interface de repos. J'y ai jeté un coup d'œil rapide, mais je ne comprends pas très bien ce que font les sérialiseurs
Voir l'explication sur le site officiel :
Les sérialiseurs permettent de convertir des données complexes telles que des ensembles de requêtes et des instances de modèle en types de données Python natifs qui peuvent ensuite être facilement restitués en JSON, XML ou d'autres types de contenu. Les sérialiseurs fournissent également la désérialisation, permettant de reconvertir les données analysées. en types complexes, après avoir d'abord validé les données entrantes -- via http://www.django-rest-framework.org/api...
.
Sous le capot, nous utilisons un ORM pour traiter les données. Afin de faciliter l’expression de la logique métier, les données existent actuellement sous forme d’objets Python. Cependant, dans le processus de communication front-end et back-end, les objets natifs ne sont pas autorisés à être transmis et toutes les données doivent être converties en formats de caractères purs, tels que XML et JSON. Cela implique la question de la conversion mutuelle entre un objet Python et un flux de caractères. Les sérialiseurs sont le pont entre eux.
Quelle est la différence entre écrire des URL et des interfaces à l'aide de vues dans Django et utiliser rest_framework ?
Aucune différence. Mais rest-framework encapsule pour vous de nombreuses fonctions, qui peuvent être utilisées immédiatement, rendant votre code plus concis. Cela est particulièrement évident lorsque le nombre d’interfaces est particulièrement important.
Notre approche consiste à écrire un décorateur d'API, puis à l'utiliser pour annoter la méthode sur la vue. La méthode renvoie un dict ou lève directement une exception. De cette façon, le contrôle des autorisations peut également être placé sur le décorateur. En fin de compte, l'API réelle n'a qu'à être écrite comme ceci :
D'accord. Parce que la soi-disant interface est aussi une URL ordinaire.
Voir l'explication sur le site officiel :
.Sous le capot, nous utilisons un ORM pour traiter les données. Afin de faciliter l’expression de la logique métier, les données existent actuellement sous forme d’objets Python. Cependant, dans le processus de communication front-end et back-end, les objets natifs ne sont pas autorisés à être transmis et toutes les données doivent être converties en formats de caractères purs, tels que XML et JSON. Cela implique la question de la conversion mutuelle entre un objet Python et un flux de caractères. Les sérialiseurs sont le pont entre eux.
Aucune différence. Mais rest-framework encapsule pour vous de nombreuses fonctions, qui peuvent être utilisées immédiatement, rendant votre code plus concis. Cela est particulièrement évident lorsque le nombre d’interfaces est particulièrement important.
Référence http://stackoverflow.com/questions/53200...
Aussi, chapeau bas à l'auteur de DRF. Même s'il ne suit plus le projet (http://www.django-rest-framework.org/top...),但我们永远都无法忘记他和他的团队给开发者带来的便利。
Notre approche consiste à écrire un décorateur d'API, puis à l'utiliser pour annoter la méthode sur la vue. La méthode renvoie un dict ou lève directement une exception. De cette façon, le contrôle des autorisations peut également être placé sur le décorateur. En fin de compte, l'API réelle n'a qu'à être écrite comme ceci :
.Le BaseApiView et l'API dans le code sont tout ce dont vous avez besoin pour implémenter. Voici juste un simple pseudo-code.