python - django 编写接口的问题
阿神
阿神 2017-04-17 17:33:48
0
2
465

最近做一个django的项目,和其他项目做对接,接口化。

有些事情不明,
1、用django,写url,views这种方式写接口,行吗。

2、django中有rest_framework 这种rest接口的形式,我粗略看了下,不太明白serializers这个什么作用

3、django原声写url,views的方式去写接口,和用rest_framework有什么区别。

为什么要用rest呢。

小白,sorry,望大神回答疑惑。

阿神
阿神

闭关修行中......

répondre à tous(2)
小葫芦

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.


Pourquoi utiliser le repos ?

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 :

.
class ApiView(BaseApiView):
    @api
    def login(username,password):
        pass
    @api
    def register(phone,password,email):
        pass
    @asapi(role="admin")
    def sysinfo():
        pass

Le BaseApiView et l'API dans le code sont tout ce dont vous avez besoin pour implémenter. Voici juste un simple pseudo-code.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal