Bygg et nettsted med Python

Bygg et nettsted med Python
Kolbe er et rammeverk for nettutvikling. Med Python er det to moduler man kan bruke til webutvikling: Django og Flask. Kolbe er imidlertid mer lett og lettere å lære. I denne opplæringen bygger vi et veldig enkelt nettsted ved hjelp av Pythons Flask -modul.

Til å begynne med, installer kolbe:

PIP -installkolbe

Trinn 1: Minimal webapplikasjon

Den minimale applikasjonen finner du på https: // kolbe.pallprosjekter.com/en/2.0.X/QuickStart/#A-minimal-applikasjon. Dette er en webside som viser “Hello World”. Det første vi gjorde var å lage en forekomst av kolbe () med “__name__” som argument. Rute dekoratøren brukes til å informere Kolbe url som vil aktivere funksjonen vi skrev.

Fra kolbeimportkolbe
app = kolbe (__ name__)
@App.rute('/')
def index ():
Returner "Hei verden"
if "__name__" == "__main__":
app.Kjør (Debug = True)

Neste, i terminalen til Pycharm, skriv inn følgende (der navnet på min python -fil er hoved.py; I ditt tilfelle, erstatt Main.PY med Pythons filnavn):

Sett Flask_app = Main.py
$ env: flask_app = "main.py "
Kolbe -løp

Når du kjører "Flask Run", vil terminalen chuck ut en URL med en port. Denne URLen: Port er der websiden er lastet inn. Du kan alltid trykke på kontroll + c for å slutte. I mitt tilfelle står det “Kjører på http: // 127.0.0.1: 5000/ (trykk CTRL+C for å slutte) ”. Så åpne nettleseren din, og kopier og lim inn url gitt. I mitt tilfelle kopierte jeg og limte inn “http: // 127.0.0.1: 5000/”. Vær også oppmerksom på at de tidligere linjene må kjøres hver gang du starter Pycharm på nytt for at den skal fungere:

Trinn 2: Legge til HTML

Det første du trenger å gjøre er å åpne mappen der Python -skriptet ligger og opprette en mappe som heter "Maler". Da jeg først kjørte dette, prøvde jeg å sette navnet "mal" som mappenavnet, og hele programmet krasjet og fungerte ikke. Så det er viktig at du kaller mappen “Maler”. Innenfor denne "maler" -mappen, oppretter du en indeks.HTML -fil med HTML -koden. Bruk deretter render_template () og pass “indeks.html ”som argument. Nå, hvis du kjører "Flask Run" i terminalen, bør HTML -koden din gjengis:

Min HTML -kode (indeks.html) For øyeblikket er som følger:





Kalyanis CV



Kalyanis CV
Denne siden vil inneholde CVen min



Og min Python -filkode (Main.py) er som følger:

Fra kolbeimportkolbe, gjengivelse
app = kolbe (__ name__)
@App.rute('/')
def index ():
Returner Render_Template ("Indeks.html ")
if "__name__" == "__main__":
app.Kjør (Debug = True)

Sistnevnte vil gjengi en enkel HTML -side.

Trinn 3: Legge til CSS

Nå vil jeg legge CSS til HTML -en min. For å gjøre dette, lag en mappe som heter “statisk” og opprette en fil som heter “Main.CSS ”. Her kan navnet på den faktiske CSS -filen være hva som helst. Jeg har bestemt meg for å kalle meg “Main.CSS ”. Navnet på mappen må imidlertid være "statisk"! I den "statiske" mappen kan man plassere alt som er statisk, for eksempel CSS, JavaScript og bilder. Så hvis du skal legge bilder, JavaScript og CSS, kan det være lurt å opprette undermapper.

Først, la oss skrive ut CSS (Main.CSS) Jeg vil:

kropp
Margin: 0;
Farge: #333
Font-Family: Verdana;
Font-størrelse: 20px;
bakgrunnsfarge: RGB (201, 76, 76);

.stylet
Bakgrunnsfarge: #92A8D1;
Font-Family: Verdana;
Font-størrelse: 20px;

Her, i indeksen.html, vi må skrive oglt; link rel = ”stilheet” type = ”tekst/css” href = ”url_for ('statisk', filnavn =" main.css ")"> i hodet på HTML -filen. Her er filnavnet navnet på CSS -filen (min er Main.CSS). Hvis for eksempel “Main.CSS ”er lokalisert med en undermappe kalt“ CSS ”, så ville du skrevet følgende:

.

Etter det kan du bruke CSS du har opprettet. For eksempel opprettet jeg en som heter “Styled”, og brukte den i H1 -klassen.

Min indeks.HTML -fil vil være som følger:





Kalyanis CV<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><h1><br>Kalyanis CV<br>Denne siden vil inneholde CVen min<br></h1><br></body><br></html> <p>Hoved Python -filen - Main.PY - forblir den samme.</p> Fra kolbeimportkolbe, gjengivelse<br>app = kolbe (__ name__)<br>@App.rute('/')<br>def index ():<br>Returner Render_Template ("Indeks.html ")<br>if "__name__" == "__main__":<br>app.Kjør (Debug = True) <p>Trinn 4: Legge til et bilde</p> <p>La oss nå legge et bilde til HTML -siden vi opprettet! For dette bruker vi den "statiske" mappen vi opprettet. Innenfor "statisk" -mappen opprettet jeg en annen mappe som heter "bilder". Innenfor bildemappen plasserte jeg et bilde. La oss nå legge bildet til HTML -koden som følger: . I dette tilfellet satte jeg høyden på bildet til 200, men du kan endre det til hva du vil og legge til CSS hvis du vil. </p> <p>HTML -koden vil se ut som følger:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>Kalyanis CV





Kalyanis CV


Denne siden vil inneholde CVen min

Alternativt kan man også bruke følgende:

.
[/cce_python]
I dette tilfellet vil HTML -koden se slik ut:
[cc lang = "html" bredde = "100%" høyde = "100%" rømte = "true" tema = "blackboard" nowrap = "0"]




Kalyanis CV<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><h1><br>Kalyanis CV<br></h1><br>Denne siden vil inneholde CVen min<br></body><br></html> <p>Trinn 5: Legge til JavaScript</p> <p>Det er to måter du kan legge til JavaScript. I denne første demoen vil jeg opprette en knapp. Når knappen trykkes, vil den aktivere en funksjon som heter MyFunction () som vil være JavaScript (funnet i taggen). For dette, sett opp knappen. Sett deretter opp et skriptetag i hodet på HTML -koden og i den, definer en funksjon. I mitt tilfelle har jeg definert en funksjon som vil legge til "hele CVen" til et P -element ved knappeklikk. </p> <p>Du kan legge den til indeksen.HTML -fil som følger:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>Kalyanis CV<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br>funksjon myfunction () <br>dokument.getElementById ("para").InnerHtml = "Hele CV";<br><br><br><br><br><br><h1><br>Kalyanis CV<br></h1><br>Denne siden vil inneholde CVen min<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Klikk for å se CV </button><br></body><br></html> <p>I de fleste tilfeller har imidlertid JavaScript -filer en tendens til å være dokumenter selv, og ikke en foringer. I slike tilfeller ville vi ha en .JS -fil som vi må koble. I mitt tilfelle ville jeg skrevet: . Så omtrent som bildefilen, kobler vi JS -filen som følger:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>Kalyanis CV<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><br><br><h1><br>Kalyanis CV<br></h1><br>Denne siden vil inneholde CVen min<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Klikk for å se CV </button><br></body><br></html> <p>Alternativt kan du også bruke dette: . Sistnevnte ville generere denne HTML -koden:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>Kalyanis CV<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>Kalyanis CV<br></h1><br>Denne siden vil inneholde CVen min<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Klikk for å se CV </button><br></body><br></html> <p>Konklusjon </p> <p>Kolbe er et mikrorammeverk som er brukervennlig og flott for nybegynnere. Spesielt er dokumentasjonen i seg selv stor, og den finner du på https: // kolbe.pallprosjekter.com/en/2.0.X/QuickStart/#Static-Files. I denne opplæringen lærte vi hvordan du bygger et enkelt nettsted, legger til CSS, legger til bilder og legger til JavaScript til nettstedet ved hjelp av Pythons Flask -modul. Vi håper du fant denne artikkelen nyttig og vennligst sjekk ut Linux -hint for mer informative artikler. </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://no.cyberaxe.org/article/array-every-method-in-javascript">« Matrise hver metode i JavaScript</a></li> <li class="prev-next__item prev-next__item--right"><a href="http://no.cyberaxe.org/article/when-to-use-ethernet-loopback-plug">Når skal du bruke Ethernet Loopback -plugg? »</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://no.cyberaxe.org/category/python">Python</a> </div> <div class="white-news__name"> <a href="http://no.cyberaxe.org/article/what-is-b-string-in-python">Hva er B -streng i Python?</a> </div> <div class="white-news__text"> I Python brukes B -notasjonen ved siden av vanlig streng og encode () -metoden for å konvertere stre... </div> <div class="white-news__author"> <a href="http://no.cyberaxe.org/author/mathias-halvorsen">Mathias Halvorsen</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://no.cyberaxe.org/category/git">Git</a> </div> <div class="white-news__name"> <a href="http://no.cyberaxe.org/article/how-to-create-a-git-repository-for-local-projects">Hvordan lage et Git -depot for lokale prosjekter?</a> </div> <div class="white-news__text"> For å lage et Git -depot for lokale prosjekter, flytt til Git Root Directory og liste opp alle eksis... </div> <div class="white-news__author"> <a href="http://no.cyberaxe.org/author/erik-roed">Erik Røed</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://no.cyberaxe.org/category/golang">Golang</a> </div> <div class="white-news__name"> <a href="http://no.cyberaxe.org/article/how-to-trim-a-string-in-golang">Hvordan trimme en streng i Golang</a> </div> <div class="white-news__text"> Strengtrimming er en prosess for å fjerne ekstra mellomrom eller tegn fra begynnelsen eller slutten ... </div> <div class="white-news__author"> <a href="http://no.cyberaxe.org/author/anders-fjeld-moe">Anders Fjeld Moe</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://no.cyberaxe.org/category/python">Python</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/python-oserror">Python Oserror</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/daniel-johnsen">Daniel Johnsen</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/postgresql">PostgreSql</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/how-to-copy-a-table-from-one-database-to-another-in-postgresql">Hvordan kopiere en tabell fra en database til en annen i PostgreSQL</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/oskar-fossum">Oskar Fossum</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/ubuntu">Ubuntu</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/how-to-install-cuda-on-ubuntu-top-10-top-10-lts">Hvordan installere CUDA på Ubuntu Top 10.Topp 10 LTS</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/simen-odegard">Simen Ødegård</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/docker">Docker</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/what-are-the-steps-to-deploy-a-nginx-image-using-docker">Hva er trinnene for å distribuere et Nginx -bilde ved hjelp av Docker?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/daniel-berntsen">Daniel Berntsen</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/oracle-linux">Oracle Linux</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/what-are-the-differences-between-oracle-linux-and-ubuntu-linux">Hva er forskjellene mellom Oracle Linux og Ubuntu Linux?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/oskar-fossum">Oskar Fossum</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/oracle-database">Oracle Database</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/what-type-of-database-is-oracle-top-10g">Hvilken type database er Oracle Top 10G?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/elias-aalerud-aasen">Elias Aalerud Aasen</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/java">Java</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/what-is-import-java-io--in-java">Hva er import Java.io.*; I Java?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/oskar-fossum">Oskar Fossum</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/aws">Aws</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/how-to-use-aws-systems-manager-session-manager">Hvordan bruke AWS Systems Manager Session Manager?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/daniel-johnsen">Daniel Johnsen</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/powershell">Kraftskall</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/how-to-use-the-move-item-cmdlet-in-powershell">Hvordan du bruker flytting-elementet cmdlet i PowerShell?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/elias-krogh-svendsen">Elias Krogh Svendsen</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://no.cyberaxe.org/category/oracle-database">Oracle Database</a> </div> <div class="header-news__name"> <a href="http://no.cyberaxe.org/article/how-to-delete-sequence-in-oracle">Hvordan slette sekvens i Oracle?</a> </div> <div class="header-news__author"> <a href="http://no.cyberaxe.org/author/lars-solberg">Lars Solberg</a> </div> </div> </div> </div> </div> </div> <footer> <div class="container"> <div class="footer"> <div class="footer__about">Et nettsted om Linux-operativsystemet. Her finner du mange interessante artikler og nyttige guider</div> <div class="footer__cats"> <ul class="sub-menu"> <li class="menu-item"><a href="http://no.cyberaxe.org/category/python">Python</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/postgresql">PostgreSql</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/oracle-linux">Oracle Linux</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/c">C ++</a></li> <li class="menu-item"><a href="http://no.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://no.cyberaxe.org/category/docker">Docker</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/c-sharp">C skarp</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/r">R</a></li> <li class="menu-item"><a href="http://no.cyberaxe.org/category/oracle-database">Oracle Database</a></li> </li> <li class="menu-item"><a href="http://no.cyberaxe.org/all-categories"><b>Alle Kategorier</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>