Питхон фласк објашњен за 5 минута или мање

Питхон Фласк је микрооквир за прављење веб апликација у Питхон-у.

То је веома флексибилан и прилагодљив оквир који олакшава учење. Као резултат тога, то је популаран избор при изградњи веб сервера. Овај чланак представља Питхон Фласк: шта је то, како се пореди са другим оквирима и како да направите основну апликацију у Питхон-у.

Шта је Фласк?

Фласк је оквир за прављење веб сервера у Питхон-у. За разлику од других оквира, он не приморава програмера да се прилагоди одређеној структури директоријума.

Поред тога, нема мишљења, омогућавајући вам да користите алатке које желите да извршите радње као што је повезивање са базом података и валидација уноса обрасца.

Као што је поменуто, Фласк се користи за прављење веб сервера. Веб сервер је софтвер који одговара на ХТТП захтеве одговарајућим подацима и датотекама.

Фласк против других оквира

Овај одељак ће укратко упоредити Фласк са два друга популарна оквира – Дјанго и Фаст АПИ. Покрићемо предности и ограничења коришћења Фласк-а у односу на друге оквире.

Фласк против Дјанга

Фласк је лагани микро-оквир. Програмерима нуди једноставност и флексибилност, омогућавајући вам да градите док идете. Међутим, то значи да морате много да радите сами.

С друге стране, Дјанго је оквир „са батеријама“ који долази са многим унапред конфигурисаним алатима. Ово вам омогућава да градите и шаљете брже. Међутим, Дјанго није много флексибилан и има стрмију криву учења.

Као резултат тога, Фласк се користи за мале и средње пројекте, док се Дјанго користи за веће и сложеније пројекте.

Такође прочитајте: Разлике између Фласка и Дјанга

  26 одличних отворених скупова података за ваше пројекте науке о подацима/МЛ

Фласк против ФастАПИ

ФастАПИ је релативно нов оквир за прављење АПИ-ја у Питхон-у. Брз је и лак за употребу. Пружа уграђени надзор као функцију. Међутим, то је нови оквир са релативно малим екосистемом и заједницом. Поред тога, његова употреба је ограничена на АПИ-је.

Насупрот томе, Фласк је свестранији јер се може користити и за АПИ-је и за рендеровање статичких датотека. Лаган је и релативно лак. Међутим, спорији је од ФастАПИ-ја.

Фласк је најпогоднији за веб апликације где морате да прикажете ХТМЛ, док ФастАПИ треба да се користи за прављење АПИ-ја.

Такође прочитајте: ФастАПИ против Фласк-а: Шта је од ова два права за вас?

Како направити апликацију у Фласк-у

У овом одељку ћемо направити једноставну Фласк апликацију за приказ ХТМЛ-а и пружање података преко АПИ-ја. Поента овога није да пружимо свеобухватан водич за Фласк. Уместо тога, циљ је да вам укратко покажем како би изгледала изградња Фласк апликације.

Предуслови

Да бисте пратили овај водич, морате да разумете Питхон 3. Поред тога, познавање ХТТП-а би било корисно, иако није неопходно.

Да бисте креирали апликацију у Фласку, прво морате да инсталирате Питхон. Ако вам треба водич како да то урадите, ево видео снимка који ће вас упутити:

Направите виртуелно окружење

Прво направите фасциклу пројекта за апликацију. Покрећем своје команде у Басх терминалу; стога, креирам фасциклу користећи следећу команду:

mkdir flask-tut

Затим идите унутар фасцикле користећи команду:

cd flask-tut

Након навигације у фасциклу, креирајте виртуелно окружење помоћу ове команде. Ово осигурава да зависности које ћемо инсталирати нису у сукобу са зависностима из других пројеката.

python3 -m venv venv

Ово би требало да креира фасциклу венв, коју можете видети помоћу команде:

ls

Активирајте виртуелно окружење

Активирање виртуелног окружења је једноставно. Користећи Басх терминал, унесите команду:

source venv/bin/activate

Ваш терминалски промпт би требало да се промени са овог $ на овај (венв) $.

  13 апликација/алата за повећање продаје у Схопифи продавници

За више информација, ево чланка о виртуелним окружењима у Питхон-у.

Инсталирајте Фласк

Са виртуелним окружењем, можемо наставити са инсталирањем Фласк-а. За то ћемо користити пип:

pip install Flask

То би требало да преузме неке датотеке и инсталира зависности.

Послуживање малог ХТМЛ-а

Затим можемо почети да радимо на датотеци маин.пи. Ова датотека ће бити улазна тачка апликације.

touch main.py

Након што направите датотеку маин.пи, отворите је помоћу жељеног уређивача и додајте следећи код:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return '<h1>Hello from Flask!</h1>'

У горњем исечку кода почели смо увозом класе Фласк. Затим смо инстанцирали класу Фласк, проследивши променљиву __наме__. Ово је уграђена променљива која чува име тренутног модула. Фласку је ово потребно да зна где да пронађе датотеке. Спремили смо инстанцу Фласк-а у променљиву апликације.

Затим смо креирали функцију под називом индек. Ова функција враћа ХТМЛ који желимо да прикажемо кориснику. Пре дефиниције функције, користили смо декоратор @апп.роуте. Овај декоратер претвара редовну функцију у функцију Фласк виев. То значи да ће повратна вредност функције бити конвертована у ХТМЛ одговор.

За покретање апликације користимо наредбу:

flask --app main run

Ознака –апп одређује где се апликација налази. У овом случају, у маин.пи. Сервер би требало да почне да ради.

А ако отворите прегледач на хттп://лоцалхост:5000 или хттп://127.0.0.1:5000, требало би да видите х1:

Писање целог нашег ХТМЛ-а у нашем Питхон коду би генерално било лоше. У идеалном случају, желели бисмо да одвојимо Питхон од ХТМЛ-а. Следећи одељак ће размотрити како послужити самосталне ХТМЛ датотеке.

Послуживање ХТМЛ датотеке

У овом одељку ћемо написати код који ће послужити датотеку индек.хтмл за нашу веб локацију. Прво, направимо датотеку индек.хтмл. Направићемо ову датотеку у фасцикли шаблона јер ту Фласк тражи наш ХТМЛ шаблон

touch template/index.html

Затим отворите датотеку користећи жељени уређивач и додајте следећи код:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Flask Website</title>
  </head>
  <body>
	<h1>Hello from Flask!</h1>
  </body>
</html>

Затим поново отворите датотеку маин.пи коју смо раније направили. Затим додајте следећи увоз на врху, одмах након увоза Фласк:

from flask import render_template

Функција рендер_темплате коју смо управо увезли омогућава нам да служимо ХТМЛ шаблоне. Да бисмо приказали ХТМЛ датотеку, модификујемо функцију индекса да изгледа овако:

@app.route("/")
def index():
    return render_template('index.html')

Зауставите сервер (Цтрл + Ц) и поново га покрените помоћу следеће команде:

flask --app main run

Поново учитајте прозор претраживача и требало би да видите следеће.

  Лов на претње објашњен за 5 минута или мање

У овом примеру приказујемо статичну ХТМЛ страницу. Уз Фласк, такође можете приказати шаблоне креирањем ХТМЛ шаблона и пружањем података. Ови шаблони прате Јиња синтаксу. Нећемо ово покривати овде ради краткоће, али ћу повезати неке добре ресурсе да касније научим Фласк.

Креирање АПИ руте

Приказ ХТМЛ садржаја је једна од функција веб апликација. Други је послуживање података преко АПИ руте. У Фласку је такође лако подесити АПИ руте. Додајте овај код у датотеку маин.пи да бисте креирали АПИ руту на ‘/дата’.

@app.route('/data')
def data():
    return { "status": "OK", "msg": "Hello from Flask API" }

Ако функција врати дицт или листу, вредност се конвертује у ЈСОН и шаље као одговор. Ако поново покренете сервер и отворите хттп://лоцалхост:5000/дата, требало би да видите следеће:

Ресурси за учење Фласк

❇ Тхе Документација за пљоску одличан је за учење. Добро је структуиран, јасан и вероватно је најпоузданији ресурс за учење Фласка.

❇ ФрееЦодеЦамп такође има одличан ИоуТубе видео он Фласк. фрееЦодеЦамп је име у домаћинству бесплатних али квалитетних ресурса за учење.

❇ Ово Удеми цоурсе је добар начин да научите како да направите АПИ-је за предузећа у Фласку. Покрива алате као што су Фласк-СКЛАЛцхеми и Фласк-Сморест.

Закључак

Овај чланак је био кратак увод у Питхон Фласк. Покрили смо шта је то, упоредили га са другим веб оквирима и направили једноставну апликацију. На крају, повезао сам ресурсе за даље учење.

Затим погледајте како да обезбедите Фласк РЕСТ АПИ помоћу ЈСОН веб токена.