Zbuduj stronę internetową z Pythonem

Zbuduj stronę internetową z Pythonem
Flask to ramy rozwoju stron internetowych. Z Pythonem są dwa moduły, które można użyć do tworzenia stron internetowych: Django i Flask. Jednak kolba jest bardziej lekka i łatwiejsza do nauczenia. W tym samouczku będziemy zbudować bardzo prostą stronę internetową za pomocą modułu Folask Python.

Na początek zainstaluj kolbę:

PIP zainstaluj kolbę

Krok #1: Minimalna aplikacja internetowa

Minimalną aplikację można znaleźć w kolbie https: //.PALLETSProjects.com/en/2.0.X/QuickStart/#A-minimal-Application. To jest strona internetowa, która wyświetla „Hello World”. Pierwszą rzeczą, którą zrobiliśmy, było stworzenie instancji Flask () z „__name__” jako argument. Dekorator trasy służy do poinformowania kolby adresu URL, który aktywuje funkcję, którą napisaliśmy.

z kolby importowej kolby
App = Flask (__ name__)
@App.trasa('/')
DEF INDEX ():
powrót „Hello World”
Jeśli „__name__” == „__main__”:
App.RUN (debug = true)

Następnie, w terminalu pycharm, wpisz następujące (gdzie nazwa mojego pliku Python jest główna.py; W twoim przypadku wymień Main.Py z nazwą pliku twojego Pythona):

SET FLAK_APP = Main.py
$ env: flask_app = "Main.py "
Run Flask

Po uruchomieniu „Flask Run” terminal wyrzuci adres URL z portem. Ten adres URL: Port to miejsce, w którym ładowana jest strona internetowa. Zawsze możesz nacisnąć kontrolę + c, aby wyrzucić. W moim przypadku napisano „Bieganie na http: // 127.0.0.1: 5000/ (naciśnij Ctrl+C, aby rzucić) ”. Otwórz więc swoją przeglądarkę internetową, skopiuj i wklej podany adres URL. W moim przypadku skopiowałem i wkleiłem „http: // 127.0.0.1: 5000/”. Należy również pamiętać, że poprzednie linie muszą być uruchamiane za każdym razem, gdy ponownie uruchamiasz PyCharm, aby działał:

Krok #2: Dodanie HTML

Pierwszą rzeczą, którą musisz zrobić, to otworzyć folder, w którym znajduje się skrypt Python i utworzyć folder o nazwie „Szablony”. Kiedy to po raz pierwszy uruchomiłem, próbowałem umieścić nazwę „Szablon” jako nazwę folderu, a cały program rozbił się i nie działał. To konieczne, aby nazywać folder „szablony". W tym folderze „Szablony” utwórz indeks.plik HTML z kodem HTML. Następnie użyj render_template () i przejść „indeks.html ”jako argument. Teraz, jeśli uruchomisz „Run Folask” w terminalu, powinien zostać wykonany kod HTML:

Mój kod HTML (indeks.html) Na razie jest następujący:





CV Kalyani



CV Kalyani
Ta strona będzie zawierać moje CV



I mój kod pliku Pythona (Main.py) jest następujący:

z kolby importowej kolby, render_template
App = Flask (__ name__)
@App.trasa('/')
DEF INDEX ():
return render_template („indeks.html ”)
Jeśli „__name__” == „__main__”:
App.RUN (debug = true)

Ta ostatnia renderuje prostą stronę HTML.

Krok #3: Dodanie CSS

Teraz chcę dodać CSS do mojego HTML. Aby to zrobić, utwórz folder o nazwie „Statyczny” i utwórz plik o nazwie „Main.CSS ”. Tutaj nazwa rzeczywistego pliku CSS może być wszystkim. Postanowiłem zadzwonić do mojego „Main.CSS ”. Jednak nazwa folderu musi być „statyczna”! W rzeczywistości w folderze „statycznym” można umieścić wszystko, co jest statyczne, takie jak CSS, JavaScript i obrazy. Jeśli więc zamierzasz umieścić obrazy, JavaScript i CSS, możesz zrobić utworzenie podfolderów.

Najpierw napiszmy CSS (Main.CSS) Chcę:

ciało
Margines: 0;
Kolor: #333
Font-Family: Verdana;
Rozmiar czcionki: 20px;
kolor tła: RGB (201, 76, 76);

.Styled
kolor tła: #92A8D1;
Font-Family: Verdana;
Rozmiar czcionki: 20px;

Tutaj, w indeksie.html, musimy pisać ilt; link rel = ”stylesheet” type = ”Text/css” href = ”url_for („ static ”, filename =" main main.css ")”> na czele pliku HTML. Tutaj nazwa pliku to nazwa pliku CSS (moje jest główne.CSS). Jeśli na przykład „główny.CSS ”znajduje się z podfolderem o nazwie„ CSS ”, a następnie napiszesz następujące:

.

Następnie możesz użyć utworzonych CSS. Na przykład stworzyłem jeden o nazwie „Styled” i użyłem go w klasie H1.

Mój indeks.Plik HTML byłby następujący:





CV Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><h1><br>CV Kalyani<br>Ta strona będzie zawierać moje CV<br></h1><br></body><br></html> <p>Główny plik Python - główny.PY - pozostaje to samo.</p> z kolby importowej kolby, render_template<br>App = Flask (__ name__)<br>@App.trasa('/')<br>DEF INDEX ():<br>return render_template („indeks.html ”)<br>Jeśli „__name__” == „__main__”:<br>App.RUN (debug = true) <p>Krok #4: Dodanie obrazu</p> <p>Teraz dodajmy obraz do utworzonej strony HTML! W tym celu używamy folderu „statycznego”, który stworzyliśmy. W folderze „statycznym” utworzyłem inny folder o nazwie „Images”. W folderze obrazów umieściłem obraz. Teraz dodajmy obraz do kodu HTML w następujący sposób: . W tym przypadku ustawiam wysokość obrazu na 200, ale możesz zmienić go na wszystko, co chcesz i dodać CSS, jeśli chcesz. </p> <p>Kod HTML wyglądałby w następujący sposób:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV Kalyani





CV Kalyani


Ta strona będzie zawierać moje CV

Alternatywnie można również użyć następujących czynności:

.
[/cce_python]
W takim przypadku kod HTML wyglądałby tak:
[cc lang = "html" szerokie = "100%" height = "100%" ewident = "true" theme = "blackboard" nowrap = "0"]




CV Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><h1><br>CV Kalyani<br></h1><br>Ta strona będzie zawierać moje CV<br></body><br></html> <p>Krok #5: Dodanie JavaScript</p> <p>Istnieją dwa sposoby dodania JavaScript. W tym pierwszym demo utworzę przycisk. Po naciśnięciu przycisku aktywuje funkcję o nazwie myFunction (), która będzie JavaScript (znaleziona w znaczniku). W tym celu skonfiguuj przycisk. Następnie skonfiguruj znacznik skryptu w głowicy kodu HTML i w nim, zdefiniuj funkcję. W moim przypadku zdefiniowałem funkcję, która doda „całe CV” do elementu P przy przycisku kliknięcia. </p> <p>Możesz dodać go do indeksu.plik HTML w następujący sposób:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br>funkcja myFunction () <br>dokument.getElementById („para”).innerhtml = "cała respume";<br><br><br><br><br><br><h1><br>CV Kalyani<br></h1><br>Ta strona będzie zawierać moje CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Kliknij, aby zobaczyć CV </button><br></body><br></html> <p>Jednak w większości przypadków pliki JavaScript są same dokumenty, a nie jedna wkładka. W takich przypadkach mielibyśmy .plik JS, który musimy połączyć. W moim przypadku pisałbym: . Podobnie jak plik obrazu, łączymy plik JS w następujący sposób:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV Kalyani<br><link rel="stylesheet" type="text/css" href=" url_for('static', filename='main.css')"><br><br><br><br><br><br><h1><br>CV Kalyani<br></h1><br>Ta strona będzie zawierać moje CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Kliknij, aby zobaczyć CV </button><br></body><br></html> <p>Alternatywnie możesz to również użyć: . Ten ostatni wygenerowałby ten kod HTML:</p> <br><html lang="en"><br><head><br><meta charset="UTF-8"><br><title>CV 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 Kalyani<br></h1><br>Ta strona będzie zawierać moje CV<br><br><br><br><br><br><button type="button" onclick="myFunction()"> Kliknij, aby zobaczyć CV </button><br></body><br></html> <p>Wniosek </p> <p>Flask to mikro framework, który jest przyjazny dla użytkownika i świetny dla początkujących. W szczególności sama dokumentacja jest świetna i można ją znaleźć w kolbie https: //.PALLETSProjects.com/en/2.0.X/QuickStart/#Fliles. W tym samouczku nauczyliśmy się, jak budować prostą stronę internetową, dodawać CSS, dodawać obrazy i dodawać JavaScript do witryny za pomocą modułu kolaskowego Pythona. Mamy nadzieję, że ten artykuł uznałeś za pomocny i sprawdź wskazówkę Linux, aby uzyskać więcej artykułów pouczających. </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://pl.cyberaxe.org/article/array-every-method-in-javascript">« Tablica każdej metody w JavaScript</a></li> <li class="prev-next__item prev-next__item--right"><a href="http://pl.cyberaxe.org/article/when-to-use-ethernet-loopback-plug">Kiedy używać wtyczki 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://pl.cyberaxe.org/category/php">php</a> </div> <div class="white-news__name"> <a href="http://pl.cyberaxe.org/article/how-to-use-stripslashes-function-in-php">Jak korzystać z funkcji stripassashes w PHP</a> </div> <div class="white-news__text"> Stripslashes () usuwają wszystkie oprawy, które są dodawane do sznurka, z wyjątkiem tych, które są u... </div> <div class="white-news__author"> <a href="http://pl.cyberaxe.org/author/sebastian-kaczynski">Sebastian Kaczyński</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://pl.cyberaxe.org/category/docker">Doker</a> </div> <div class="white-news__name"> <a href="http://pl.cyberaxe.org/article/how-can-i-install-docker-via-ubuntu-terminal">Jak mogę zainstalować Docker za pośrednictwem terminalu Ubuntu?</a> </div> <div class="white-news__text"> Aby zainstalować Docker za pośrednictwem terminalu Ubuntu, użyj „sudo apt instal instal Docker.polec... </div> <div class="white-news__author"> <a href="http://pl.cyberaxe.org/author/zofia-gora">Zofia Góra</a> </div> </div> <div class="white-news white-news--article"> <div class="white-news__cat"> <a href="http://pl.cyberaxe.org/category/aws">AWS</a> </div> <div class="white-news__name"> <a href="http://pl.cyberaxe.org/article/what-is-subnet-on-aws-vpc-and-how-to-use-it">Co to jest podsieć na AWS VPC i jak z niej korzystać?</a> </div> <div class="white-news__text"> Podsieci AWS to podnetworkks wewnątrz izolowanej sieci (VPC), aby umieścić zasoby AWS oddzielone od ... </div> <div class="white-news__author"> <a href="http://pl.cyberaxe.org/author/pani-zaneta-pakula">Pani Żaneta Pakuła</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://pl.cyberaxe.org/category/c">C ++</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/array-of-structs-in-c">Tablica struktur w C ++</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/albert-szczesniak">Albert Szcześniak</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/python">Pyton</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/python-write-string-to-file">Python Write String do pliku</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/renata-borowiec">Renata Borowiec</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/python">Pyton</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/how-do-i-check-if-a-string-is-empty-in-python">Jak sprawdzić, czy sznurek jest pusty w Pythonie</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/pani-alicja-szafranski">Pani Alicja Szafrański</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/python">Pyton</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/python-os-mkdir">Python OS Mkdir</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/larysa-witczak">Larysa Witczak</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/oracle-database">Baza danych Oracle</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/do-oracle-fusion-considered-better-than-sap">Czy Oracle Fusion uważane za lepsze niż sap?</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/larysa-witczak">Larysa Witczak</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/golang">Golang</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/what-are-structures-in-golang">Jakie są struktury w Golang</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/igor-skrzypek">Igor Skrzypek</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/php">php</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/how-to-fetch-php-timezone-list">Jak pobrać listę stref</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/pani-alicja-szafranski">Pani Alicja Szafrański</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/oracle-linux">Oracle Linux</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/how-to-install-oracle-sql-developer-on-windows">Jak zainstalować Oracle SQL Developer w systemie Windows?</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/pani-zaneta-pakula">Pani Żaneta Pakuła</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/aws">AWS</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/what-is-aws-guardduty-and-why-it-is-used">Co to jest AWS GuardDuty i dlaczego jest używany?</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/sebastian-kaczynski">Sebastian Kaczyński</a> </div> </div> </div> </div> <div> <div> <div class="header-news"> <div class="header-news__cat"> <a href="http://pl.cyberaxe.org/category/aws">AWS</a> </div> <div class="header-news__name"> <a href="http://pl.cyberaxe.org/article/what-is-batch-process-and-how-to-use-it-in-aws">Co to jest proces wsadowy i jak go używać w AWS?</a> </div> <div class="header-news__author"> <a href="http://pl.cyberaxe.org/author/oliwia-makowski">Oliwia Makowski</a> </div> </div> </div> </div> </div> </div> <footer> <div class="container"> <div class="footer"> <div class="footer__about">Witryna poświęcona systemowi operacyjnemu Linux. Tutaj znajdziesz wiele ciekawych artykułów i przydatnych poradników</div> <div class="footer__cats"> <ul class="sub-menu"> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/python">Pyton</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/postgresql">PostgreSQL</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/oracle-linux">Oracle Linux</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/c">C ++</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/windows-os">System systemu Windows</a></li> </li> </ul> </div> <div class="footer__cats"> <ul class="sub-menu"> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/docker">Doker</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/c-sharp">c ostre</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/r">R</a></li> <li class="menu-item"><a href="http://pl.cyberaxe.org/category/oracle-database">Baza danych Oracle</a></li> </li> <li class="menu-item"><a href="http://pl.cyberaxe.org/all-categories"><b>Wszystkie kategorie</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>