Je pense que les gens ont tendance à considérer Django soit pour créer des applications monolithiques à l'ancienne et de qualité industrielle, soit pour des API et utiliser quelque chose comme React pour le front-end. Je suis ici pour vous dire que le bon vieux Django est une excellente option, même pour vos sites Web personnels ! À mon avis, si vous avez besoin d'une base de données, vous devriez utiliser Django1.
Django est considéré comme un framework « batteries incluses », et ces batteries sont géniales. Ce sont ces choses qui me poussent à utiliser Django par rapport à tout autre framework.
L'ORM Django est une excellente raison d'utiliser le framework. Je suis sidéré que tous les frameworks Web n'incluent pas un ORM. À moins que vous ne soyez un grand fan de l’écriture de SQL à partir de zéro, c’est la bonne façon de créer des applications. Vous définissez des modèles, vous créez des migrations de bases de données à partir de ces modèles (principalement automatiquement), exécutez les migrations sur votre base de données et vous êtes prêt à partir ! Pas d'écriture de modèles foireux plus une série de migrations où l'on peut en quelque sorte extrapoler le schéma2. Toutes les informations dont vous avez besoin sur vos données se trouvent dans votre fichier models.py et tout en découle.
C'est le grand. Ce n'est pas un CMS ; c'est plus une interface graphique pour l'ORM. Après avoir défini vos modèles, vous pouvez, avec très peu configuration, gérer ces données sans avoir à écrire de code CRUD. Ce n'est pas le front-end de votre application. Ce n'est pas un CMS pour les utilisateurs finaux (probablement). C'est un moyen pour les administrateurs d'apporter facilement des modifications au site.
Cela me tient à cœur, mais la plupart du reste de notre industrie semble l’avoir oublié. En termes simples ; la fonctionnalité de niveau de base devrait être possible même en cas d'échec de JavaScript. Votre application devrait au moins pouvoir fonctionner sans script frontal. Faire ça avec un SPA est un cauchemar. Le faire avec un véritable framework backend et un outil comme htmx ou Unpoly est trivial. Il vous suffit de changer votre point de vue du statu quo au bon sens.
Alors que les frameworks d'applications traditionnels utilisent le modèle de conception Modèle, Vue, Contrôleur ; Django nomme leurs éléments un peu différemment.
C'est un problème résolu dans Django. C'est vraiment sympa ! Il y a beaucoup plus à savoir à ce sujet, et vous devriez examiner les fichiers de migration générés avant de les exécuter, et il y a des moments où vous devrez faire ce genre de choses plus manuellement, mais c'est le point crucial de son utilisation :
./manage.py makemigrations # It tells you what it did. ./manage.py migrate # Database updated!
C'est ça ! ?
Voici où je me lance pour mon propre petit projet. La bonne nouvelle pour vous, développeur solo qui, j’imagine, lisez ceci, c’est que c’est gratuit pour une utilisation non commerciale. Si vous finissez par l'utiliser et que cela vous a aidé à créer une application commerciale, cela ne coûte que 100 USD une fois. Allez, c'est une sacrée valeur !
Même si vous n'utilisez pas l'intégralité du kit, je vous invite à revoir les techniques que j'utilise dans le code. C’est une chose durement gagnée après avoir utilisé Django presque depuis ses débuts. J'ai traversé une phase d'utilisation avec Docker et Postgres, mais je crois vraiment que c'est la voie pour 99% des gens qui veulent essayer Django. SQLite est incroyable.
Malheureusement, c'est le principal inconvénient du choix de Django plutôt que d'autres options destinées aux sites Web personnels. Avec Blaze.horse, j’ai essayé de vous faciliter la tâche, mais c’est toujours plus compliqué qu’il ne devrait l’être. Il y a des projets à venir qui me donnent de l'espoir, comme Button et Appliku, mais je suis personnellement content de Fly pour l'instant.
Après avoir lu ceci, j'espère que vous garderez Django à l'esprit la prochaine fois que vous aurez besoin de construire quelque chose. Faites-moi savoir si je peux vous aider !
Si vous avez besoin d'un CMS, vous devez utiliser Kirby. Vous certainement ne devriez pas utiliser un générateur de site statique si vous avez besoin d'un CMS. FFS ↩
Laravel ↩
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!