Créez un site Web avec Python

Créez un site Web avec Python
Flask est un cadre de développement Web. Avec Python, il existe deux modules que l'on peut utiliser pour le développement Web: Django et Flask. Cependant, Flask est plus léger et plus facile à apprendre. Dans ce tutoriel, nous construisons un site Web très simple en utilisant le module Flask de Python.

Pour commencer, installez Flask:

Pip Install Flask

Étape n ° 1: application Web minimale

L'application minimale peut être trouvée sur https: // flacon.paletsprojects.com / en / 2.0.x / QuickStart / # a-minimal-application. Ceci est une page Web qui affiche «Hello World». La première chose que nous avons faite a été de créer une instance de Flask () avec «__name__» comme argument. Le décorateur d'itinéraire est utilisé pour informer Flask l'url qui activera la fonction que nous avons écrite.

De Flask Import Flask
app = flacon (__ name__)
@app.itinéraire('/')
def index ():
Retour "Hello World"
Si "__name__" == "__main__":
appliquer.courir (debug = true)

Ensuite, dans le terminal de PyCharm, saisissez ce qui suit (où le nom de mon fichier Python est principal.py; Dans votre cas, remplacez principal.py avec le nom de fichier de votre python):

Définir FLASK_APP = Main.py
$ env: flask_app = "Main.py "
Flash Run

Une fois que vous exécutez «Flask Run», le terminal effacera une URL avec un port. Ce port URL: est où la page Web est chargée. Vous pouvez toujours appuyer sur Control + C pour arrêter. Dans mon cas, il dit: «Courir sur http: // 127.0.0.1: 5000 / (Appuyez sur Ctrl + C pour quitter) ». Alors, ouvrez votre navigateur Web et copiez et collez l'URL donnée. Dans mon cas, j'ai copié et collé «http: // 127.0.0.1: 5000 / ”. Veuillez également noter que les lignes précédentes doivent être exécutées chaque fois que vous redémarrez Pycharm pour qu'il fonctionne:

Étape # 2: Ajout de HTML

La première chose que vous devrez faire est d'ouvrir le dossier où se trouve le script Python et de créer un dossier appelé "modèles". Quand j'ai couru ceci, j'ai essayé de mettre le nom «modèle» comme nom de dossier, et l'ensemble du programme s'est écrasé et je n'ai pas fonctionné. Donc, il est impératif que vous appeliez le dossier "modèles". Dans ce dossier «Templates», créez un index.Fichier HTML avec votre code HTML. Ensuite, utilisez Render_Template () et passez «Index.html ”comme argument. Maintenant, si vous exécutez «Flask Run» dans le terminal, votre code HTML doit être rendu:

Mon Code HTML (index.html) Pour le moment, c'est le suivant:





CV de Kalyani



CV de Kalyani
Cette page contiendra mon CV



Et, mon code de fichier Python (principal.py) est le suivant:

De Flask Import Flask, Render_Template
app = flacon (__ name__)
@app.itinéraire('/')
def index ():
return render_template ("index.html ")
Si "__name__" == "__main__":
appliquer.courir (debug = true)

Ce dernier rendra une page HTML simple.

Étape # 3: ajout de CSS

Maintenant, je veux ajouter CSS à mon HTML. Pour ce faire, créez un dossier appelé «statique» et créez un fichier appelé «Main.CSS ». Ici, le nom du fichier CSS réel peut être n'importe quoi. J'ai décidé d'appeler le mien «Main.CSS ». Cependant, le nom du dossier doit être «statique»! En fait, dans le dossier «statique», on peut placer tout ce qui est statique, comme le CSS, le javascript et les images. Donc, si vous allez mettre des images, JavaScript et CSS, vous souhaiterez peut-être créer.

Tout d'abord, écrivons le CSS (Main.css) je veux:

corps
marge: 0;
Couleur: # 333
Font-Family: Verdana;
taille de police: 20px;
Color en arrière-plan: RVB (201, 76, 76);

.Styled
Color d'arrière-plan: # 92A8D1;
Font-Family: Verdana;
taille de police: 20px;

Ici, dans l'index.html, nous devons écrire etlt; link rel = ”Stylesheet” type = ”text / css” href = ”url_for ('static', filename =" Main.css ")"> dans la tête du fichier html. Ici, le nom de fichier est le nom du fichier CSS (le mien est principal.CSS). Si par exemple le «principal.CSS »est situé avec un sous-dossier appelé« CSS », puis vous écrivriez ce qui suit:

.

Après cela, vous pouvez utiliser le CSS que vous avez créé. Par exemple, j'en ai créé un appelé «stylé» et je l'ai utilisé dans la classe H1.

Mon index.Le fichier HTML serait le suivant:





CV de Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><h1><br>CV de Kalyani<br>Cette page contiendra mon CV<br></h1><br></body><br></html> <p>Le fichier Python principal - Main.py - reste le même.</p> De Flask Import Flask, Render_Template<br>app = flacon (__ name__)<br>@app.itinéraire('/')<br>def index ():<br>return render_template ("index.html ")<br>Si "__name__" == "__main__":<br>appliquer.courir (debug = true) <p>Étape n ° 4: ajout d'une image</p> <p>Maintenant, ajoutons une image à la page HTML que nous avons créée! Pour cela, nous utilisons le dossier «statique» que nous avons créé. Dans le dossier «statique», j'ai créé un autre dossier appelé «images». Dans le dossier Images, j'ai placé une image. Maintenant, ajoutons l'image au code HTML comme suit: . Dans ce cas, j'ai réglé la hauteur de l'image à 200, mais vous pouvez le changer en tout ce que vous voulez et ajouter CSS si vous voulez. </p> <p>Le code HTML ressemblerait comme suit:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV de Kalyani





CV de Kalyani


Cette page contiendra mon CV

Alternativement, on peut également utiliser les éléments suivants:

.
[/ cce_python]
Dans ce cas, le code HTML ressemblerait à ceci:
[cc lang = "html" width = "100%" height = "100%" échappé = "true" theme = "Blackboard" nowrap = "0"]




CV de Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><h1><br>CV de Kalyani<br></h1><br>Cette page contiendra mon CV<br></body><br></html> <p>Étape n ° 5: ajout de javascript</p> <p>Il y a deux façons d'ajouter JavaScript. Dans cette première démo, je vais créer un bouton. Lorsque le bouton est enfoncé, il activerait une fonction appelée myFonction () qui sera JavaScript (trouvé dans la balise). Pour cela, configurez le bouton. Ensuite, configurez une balise de script dans la tête du code HTML et à l'intérieur, définissez une fonction. Dans mon cas, j'ai défini une fonction qui ajoutera le «CV entier» à un élément p sur le bouton cliquer. </p> <p>Vous pouvez l'ajouter à l'index.Fichier HTML comme suit:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV de Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br>fonction myFunction () <br>document.getElementByid ("para").innerHtml = "CV entier";<br><br><br><br><br><br><h1><br>CV de Kalyani<br></h1><br>Cette page contiendra mon CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Cliquez pour voir le CV </button><br></body><br></html> <p>Cependant, dans la plupart des cas, les fichiers JavaScript ont tendance à être eux-mêmes des documents, et pas une seule doublure. Dans de tels cas, nous aurions un .Fichier JS que nous devons lier. Dans mon cas, j'écrirais: . Donc, tout comme le fichier image, nous lions le fichier JS comme suit:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV de Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><br><br><h1><br>CV de Kalyani<br></h1><br>Cette page contiendra mon CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Cliquez pour voir le CV </button><br></body><br></html> <p>Alternativement, vous pouvez également utiliser ceci: . Ce dernier générerait ce code HTML:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV de Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br>><script src=" url_for('static', filename='javascript/javascript.js')"<br><br><br><br><br><h1><br>CV de Kalyani<br></h1><br>Cette page contiendra mon CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Cliquez pour voir le CV </button><br></body><br></html> <p>Conclusion </p> <p>Flask est un micro-framework qui est convivial et idéal pour les débutants. En particulier, la documentation elle-même est excellente, et elle peut être trouvée sur https: // flacon.paletsprojects.com / en / 2.0.X / QuickStart / # Files statiques. Dans ce tutoriel, nous avons appris à créer un site Web simple, à ajouter CSS, à ajouter des images et à ajouter JavaScript au site Web à l'aide du module Flask de Python. Nous espérons que vous avez trouvé cet article utile et veuillez consulter Linux Indice pour des articles plus informatifs. </p> </div> <div class="rek-block rek-block-article"> </div> <ul class="prev-next"> <li class="prev-next__item prev-next__item--left"><a href="http://fr.cyberaxe.org/article/array-every-method-in-javascript">« Arraie chaque méthode en JavaScript</a></li> <li class="prev-next__item prev-next__item--right"><a href="http://fr.cyberaxe.org/article/when-to-use-ethernet-loopback-plug">Quand utiliser la fiche Ethernet Loopback? »</a></li> </ul> <style> .prev-next { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 20px 0; list-style: none; gap: 30px; } .prev-next li { max-width: 50%; } .prev-next__item { display: inline-block; font-weight: bold; } .prev-next__item--left { text-align: left; } .prev-next__item--right { text-align: right; } @media(max-width: 768px) { .prev-next li { max-width: 85%; } .prev-next__item--left { align-self: flex-start; } .prev-next__item--right { align-self: flex-end; } .prev-next { display: flex; flex-direction: column; } } </style> </div> <div class="col-xl-4"> <div class="sidebar-news"> <div class="rek-block rek-block-sidebar"> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://fr.cyberaxe.org/category/c">C ++</a> </div> <div class="white-news__name"> <a href="http://fr.cyberaxe.org/article/difference-between--and--operators-in-c">Différence entre + = et = + opérateurs en C ++</a> </div> <div class="white-news__text"> En C ++, + = ajoute une valeur à une variable et attribue le résultat, tandis que = + attribue la va... </div> <div class="white-news__author"> <a href="http://fr.cyberaxe.org/author/julien-dumas">Julien Dumas</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://fr.cyberaxe.org/category/php">php</a> </div> <div class="white-news__name"> <a href="http://fr.cyberaxe.org/article/how-to-use-break-and-continue-in-php">Comment utiliser la pause et continuer en php?</a> </div> <div class="white-news__text"> Dans PHP, l'instruction BREAK est utilisée pour terminer une instruction en boucle ou en commutateur... </div> <div class="white-news__author"> <a href="http://fr.cyberaxe.org/author/lola-bonnet">Lola Bonnet</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://fr.cyberaxe.org/category/c-programming">C programmation C</a> </div> <div class="white-news__name"> <a href="http://fr.cyberaxe.org/article/how-to-print-an-address-of-a-variable-in-c-programming">Comment imprimer une adresse d'une variable en programmation C?</a> </div> <div class="white-news__text"> L'impression de l'adresse d'une variable en programmation C peut être effectuée en utilisant le... </div> <div class="white-news__author"> <a href="http://fr.cyberaxe.org/author/pauline-giraud">Pauline Giraud</a> </div> </div> </div> </div> </div> </div> <div class="container"> <div class="my-slider"> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/python">Python</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/python-call-static-method-within-class">Python appelle la méthode statique dans la classe</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/ethan-guillot">Ethan Guillot</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/python">Python</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/filter-nan-pandas">Filtre Nan Pandas</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/nathan-blanc">Nathan Blanc</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/c">C ++</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/array-of-structs-in-c">Tableau de structures en C ++</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/pauline-giraud">Pauline Giraud</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/python">Python</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/seaborn-horizontal-bar-plot">Terrain de barre horizontal de Seaborn</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/nathan-blanc">Nathan Blanc</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/aws">AWS</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/what-is-the-difference-between-aws-batch-and-lambda">Quelle est la différence entre AWS Batch et Lambda?</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/lena-dupuy">Lena Dupuy</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/oracle-database">Base de données Oracle</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/what-is-the-purpose-of-oracle-cerner">Quel est le but d'Oracle Cerner?</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/melissa-vincent">Mélissa Vincent</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/aws">AWS</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/a-comparison-between-cloudtrail-and-guardduty">Une comparaison entre Cloudtrail et GuardDuty</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/lena-dupuy">Lena Dupuy</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/oracle-database">Base de données Oracle</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/how-to-install-oracle-instant-client-in-linux">Comment installer Oracle Instant Client dans Linux?</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/zoe-martinez">Zoe Martinez</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/aws">AWS</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/what-is-the-difference-between-aws-aurora-and-mysql">Quelle est la différence entre AWS Aurora et MySQL?</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/gabriel-bernard">Gabriel Bernard</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://fr.cyberaxe.org/category/mysql-mariadb">Mysql mariadb</a> </div> <div class="header-news__name"> <a href="http://fr.cyberaxe.org/article/how-to-find-a-specific-character-in-mysql">Comment trouver un personnage spécifique dans MySQL?</a> </div> <div class="header-news__author"> <a href="http://fr.cyberaxe.org/author/celia-girard">Célia Girard</a> </div> </div> </div> </div> </div> </div> <footer> <div class="container"> <div class="footer"> <div class="footer__about">Un site sur le système d'exploitation Linux. Vous trouverez ici de nombreux articles intéressants et des guides utiles</div> <div class="footer__cats"> <ul class="sub-menu"> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/python">Python</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/postgresql">Postgresql</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/oracle-linux">Oracle Linux</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/c">C ++</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/windows-os">Windows OS</a></li> </li> </ul> </div> <div class="footer__cats"> <ul class="sub-menu"> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/docker">Docker</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/c-sharp">c Sharp</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/r">R</a></li> <li class="menu-item"><a href="http://fr.cyberaxe.org/category/oracle-database">Base de données Oracle</a></li> </li> <li class="menu-item"><a href="http://fr.cyberaxe.org/all-categories"><b>Toutes catégories</b></a></li> </ul> </div> </div> </div> </footer> <script src="/assets/artline/js/app.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#edeff5", "text": "#838391" }, "button": { "background": "#4b81e8" } }, "theme": "classic", "position": "bottom-right" })}); </script> <script> const images = document.querySelectorAll('img'); for (let i = 0; i < images.length; i++) { images[i].onerror = function() { this.src = 'https://cyberaxe.org/storage/img/nophoto.jpg'; } } </script> </body> </html>