Python >> Tutoriel Python >  >> Python

[Expérience] Comment créer une application Web basée sur Django

Selon le fondateur de Python, Guido van Rossum, Python fournit "la programmation informatique pour tout le monde". Les codeurs aiment Python pour plusieurs raisons. Sa courbe d'apprentissage fluide, sa lisibilité, sa compréhensibilité de la bibliothèque standard Python et ses fantastiques frameworks tiers. La science des données (manipulation et visualisation), le scraping (Web), l'apprentissage automatique, l'intelligence artificielle, le développement de jeux, le développement Web sont quelques-uns des domaines que vous pouvez atteindre avec Python et ses bibliothèques.

J'ai récemment vécu le cas lors du lancement de mon dernier projet d'application Web :Fazla.net faits et statistiques. Je suis le solopreneur/développeur solo du projet web full-stack.

Le processus de mise en ligne du projet comportait 4 étapes principales :

  • Scraping Web pour collecter des données,
  • Manipulation des données pour les rendre significatives pour ma base de données,
  • Application Web elle-même
  • Déploiement


Toutes les étapes sont réalisées avec du code Python.

J'ai utilisé beautifulsoup et les bibliothèques de requêtes pour la première étape, le grattage Web. Ils facilitent la collecte de données à partir d'un site Web. Pour les petites tâches comme la mienne, il n'y a même pas de courbe d'apprentissage. Quelques lignes de code font le travail très bien et satisfaisant.

Étape 1 :Obtenir les données

Les ensembles de données de votre disque dur ne sont rien de plus que des bagages pris à la maison. La route commence ici et vous devriez aller loin avec ces bagages.

Étape 2 :Manipuler les données

La deuxième étape, la manipulation des données, est si importante car votre façon de modéliser la base de données diffère généralement des feuilles de calcul ou des API de la source. Des centaines de milliers de lignes de données peuvent être intimidantes et une tâche éternelle si vous essayez de le faire sur Excel lui-même. Pour ce travail, deux bibliothèques python sauvent des vies ; NumPy et pandas.

Au moment de la rédaction de cet article, il y a environ 100 000 lignes de données servies par fazla.net et j'ai manipulé environ un demi-million de lignes de données qui seront en ligne dans les futures versions de l'application. Pour les travaux scientifiques sur les données, j'ai écrit plus de quelques milliers de lignes de code. pd.read_excel … Le script de code df.to_excel a été utilisé pour de nombreuses feuilles Excel différentes.

Étape 3 :Création de l'application Web avec Django

La troisième étape a été réalisée avec des batteries incluses dans le framework python :Django. Je suis un développeur indépendant full-stack Django rémunéré.

Mes deux dernières années se sont écoulées avec la réalisation de tâches liées à Django et la recherche de solutions aux problèmes. La partie backend Django de l'application était la deuxième partie la plus facile des quatre étapes. À mon avis, comme le mentionnent constamment les développeurs Web chevronnés, coder les modèles avec leurs relations est la partie la plus importante d'une application Django. Vous pouvez tout faire plus tard, mais si vos modèles sont bloqués à un moment donné, leurs relations seront difficiles à maintenir.

D'autre part, les modèles tracent en quelque sorte l'itinéraire de votre application. Les vues, les modèles, les API, etc. sont tous affectés par les modèles. Django a ses propres nombreuses bibliothèques tierces utiles qui aident beaucoup. Le front-end est une autre sous-étape de la création d'une application Django. La connaissance de HTML, CSS et JS est indispensable, même si vous utilisez des modèles tiers.

En tant que développeur passionné de backend, je ne me sens pas à l'aise avec les tâches et les technologies frontales, mais je m'efforce de travailler de manière professionnelle. En tant que site Web de statistiques, l'application utilise intensivement des graphiques et des tableaux de données. Définir la bonne parmi les alternatives extérieures était une tâche difficile. Une bibliothèque de graphiques est rapide, mais ne peut pas fournir une interface utilisateur charmante. Un autre est génial, mais vous ne pouvez pas l'utiliser sur une page publique car il semble apparaître un an plus tard. J'ai joué avec plusieurs d'entre eux et je pense que le processus de sélection va continuer car je ne suis pas entièrement satisfait de la situation actuelle. Une application en ligne doit avoir un temps de réponse rapide aux demandes des visiteurs.

Étape 4 :Déploiement

La quatrième étape consiste à déployer l'application. Choisir le bon fournisseur de services cloud, payer les dépenses, la configuration du serveur, la sécurité et rendre l'application rapide peuvent convenir ici. Pour accélérer le chargement de l'application, vous avez deux options. L'une consiste à choisir plusieurs centaines de dollars par mois en coûtant un hôte cloud ou en effectuant les optimisations de l'application/en utilisant CDN. J'ai effectué quelques optimisations, notamment la réduction des requêtes DB (fuite le problème n + 1), la compression et la réduction du nombre de fichiers statiques, l'utilisation de CDN, etc. Ce n'est pas fini, il reste encore beaucoup à faire. Mon objectif est de réduire le temps de chargement complet d'une page à moins d'une seconde.

Enfin, il peut y avoir d'autres étapes non mentionnées ici. Ce sont ceux que j'ai vus les plus importants. D'ailleurs, avant tous, apprendre python est une tâche importante à bien accomplir. Je ne suis pas un développeur Python chevronné, mais j'ai beaucoup appris de Christian, de son application finxter et de ses livres. Ils méritent beaucoup d'être mentionnés ici pour réaliser un arrière-plan python stable.

À propos de l'auteur

Haluk Aksu : Je suis un développeur Python/Django full-stack. Il y a quelques projets privés indépendants que j'ai réalisés. De plus, il existe des projets open source sur mon compte GitHub. Mon dernier projet est Fazla.net faits et statistiques avec la devise "les statistiques sont à un clic".