La nécessité d'une api dépend de ce que vous voulez faire. Par exemple, si vous voulez accéder à tous les éléments de vos modèles Django à partir d'un appareil mobile ET d'une application Web, vous devez utiliser DRF.
Pourquoi ? Prenons le cas où vous développez une application iOS dans laquelle les utilisateurs peuvent s'inscrire et où vous souhaitez utiliser Django comme backend. Si vous souhaitez également disposer d'un site web que les utilisateurs peuvent utiliser pour modifier les informations de leur profil d'application (par exemple, mettre à jour leur adresse électronique ou télécharger une photo), vous devez pouvoir partager les informations contenues dans vos modèles Django avec le site web. et l'appareil iOS. Comment cela peut-il être fait ? En donnant à l'utilisateur la possibilité de créer/lire/mettre à jour/supprimer des données en lui indiquant simplement une adresse URL à laquelle se rendre. Maintenant, si vous voulez accéder aux informations du modèle, vous pouvez le faire à partir de plusieurs appareils, puisque n'importe quel appareil peut visiter une URL.
Cependant, si vous construisez une application ou une page Web simple et que vous voulez tout conserver au même endroit, vous pouvez utiliser Django directement.
Remarque : il est généralement admis qu'il faut essayer de séparer le plus possible le frontend du backend. Dans ce cas, si vous souhaitez utiliser un framework de développement frontal comme React, Angular ou Vue, il sera difficile d'inclure toutes ces ressources dans les pages du modèle Django. même si vous ne voulez qu'une simple application web/page web. Dans ce cas, vous utiliserez DRF pour configurer votre backend, et vous n'aurez qu'à saisir les urls depuis le frontend en utilisant un outil comme axios. Dans ce scénario, votre frontend sera probablement hébergé sur quelque chose comme Node.
Encore une fois, ce que vous décidez d'utiliser dépend de ce que vous attendez de votre application/site et de votre degré d'aisance avec chaque outil.
8 votes
Ils sont conçus pour fonctionner ensemble. DRF peut être construit au-dessus de vos modèles Django (et de l'authentification Django, etc.) - vous l'utilisez à la place des vues Django ordinaires aux endroits où vous voulez des points de terminaison API.
0 votes
@Anentropic Donc, si je construis mon application entièrement en DRF, les deux choses seront prises en charge (la construction de l'application elle-même et l'API).
0 votes
Essayez de lire les documents de la DRF, par exemple le tutoriel ici. django-rest-framework.org/tutorial/1-serialization/ ...il montre comment créer un modèle Django, puis des sérialiseurs DRF basés sur le modèle, puis des vues et enfin une API basée sur le modèle et les sérialiseurs.
6 votes
"Si vous ne savez pas si vous avez besoin d'une API, vous n'en avez probablement pas besoin.
1 votes
Il vous montre comment les concepts s'assemblent en donnant un exemple pratique... vous pouvez voir les parties Django et les parties DRF et va également de la base à un peu plus avancé. Je vous suggère de le lire et d'essayer de comprendre ce que vous lisez.
0 votes
@Rookie_123 vous pouvez essayer de construire les mêmes choses que DRF en Django et voir si c'est plus facile. Essayez de créer un tas de vues de requêtes unifiées par JSON, par exemple, dans Django. Ensuite, voyez si vous pouvez facilement ajouter un autre format de représentation.