python flask tutorial introduction flask
Овај уводни водич за Питхон Фласк објашњава шта је Фласк, инсталација Питхон, Виртуаленв, Фласк Хелло Ворлд пример са одељком о примерима кода, отклањању грешака и тестирању:
Развој веб страница је више уметност него вештина. Потребно је стрпљење и марљивост, заједно са истрајношћу, храброшћу и преданошћу да би се створило оно што је неопходно да би то био прави успех. Ових дана је неопходно да ученици почну убрзати што је пре могуће.
Направили смо овај туториал за Питхон Фласк да би студенти могли да убрзају и примене једноставно, али и сложено веб програмирање помоћу Питхона 3.
Овај туториал за Питхон Фласк је више попут туторијала за почетнике у тиквици, који ће обухватити инсталацију Питхон-а, Виртуаленв-а и других основних пакета. У овој серији водича такође ћемо инсталирати Фласк заједно са осталим потребним додатцима за Фласк. Такође смо укључили одељак о отклањању грешака у коду, тестирању и континуираној интеграцији помоћу Гит Ацтион-а.
Шта ћете научити:
Списак лекција у овој тиквици
Туториал # 1: Водич за Питхон боцу - Увод у боцу за почетнике
Туториал # 2: Предложак тиквице, образац, поглед и преусмеравање са примерима
Туториал # 3: Руковање базом података тиквица - Како се користи боца са базом података
Туториал # 4: Апликација тиквица и изглед пројекта тиквице са нацртом и почетном траком
Водич бр. 5: Узорци дизајна тиквица и најбоље праксе за веб апликације
Лекција # 6: Водич за Фласк АПИ са примером | Проширење тиквице помоћу АПИ-ја
Туториал # 7: Дјанго вс Фласк Вс Ноде: Који оквир одабрати
Туториал # 8: Топ 31 популарна питања за интервју са Питхон Фласк-ом са одговорима
Шта је чутура
Фласк је оквир за веб развој. То је оквир са уграђеним развојним сервером и програмом за отклањање грешака.
најбољи софтвер за опоравак података за спољни чврсти диск
Фласк фрамеворк се сам по себи разликује од осталих архетипова, јер омогућава веб програмерима да буду флексибилни и да удобно прилагоде често објављеним променама у заједници за развој софтвера.
Чему служи чутура
Користимо Фласк фрамеворк за развој веб апликација у програмском језику Питхон. Интегрише се са другим независним сервисима и АПИ-има да би унео богатство и значење у апликацију која се развија. Основни концепти тиквице су једноставни и има мали отисак.
Почнимо са овим упутством за Питхон Фласк да бисмо разумели веб развој уз помоћ Фласк ГитХуб спремишта. Међутим, пре него што наставите, молимо вас да клонирате пројекат из Гитхуб-а ради лакшег праћења разматраних примера кода.
Предуслови
Осим поменутих наслова у овом одељку, препоручујемо стварање Гитхуб налога. Наставимо са доле наведеним корацима у предусловима.
Корак 1: Инсталирајте Питхон
Проверите да ли сте инсталирали Питхон 3 или не. Ако није, преузмите Питхон 3 са овде и инсталирајте га према вашем оперативном систему.
Корак 2: Креирајте Питхон виртуелно окружење
Креирајте виртуелно окружење помоћу наредбе у наставку.
python3 -m venv venv
Користите доњу команду за активирање Питхон виртуелног окружења.
source venv/bin/activate
У наставку смо навели пример активирања и деактивирања виртуелног окружења.
Све наредне наредбе у овом упутству треба да се изводе у активираном виртуелном окружењу. Инсталирајте пакет точкова како бисмо могли да направимо точкове у виртуелном окружењу.
pip install wheel
Корак 3: Преузимање боце и пропуст
Морамо извршити кораке за преузимање Фласка и инсталирати Фласк користећи доле наведене кораке.
Сада инсталирајте Фласк.
pip install flask
Неки од нас воле да раде заједно са најновијим променама изворног кода. Доле дати наредбу можемо користити за инсталирање са најновијим изменама извора Фласк.
Направите привремени директоријум.
mkdir tmp
Сада инсталирајте Фласк из Гитхуб спремишта. Морате остати повезани са Интернетом да би наредба у наставку функционисала.
pip3 install -e git+git@github.com:pallets/flask.git#egg=flask
Погледајте излазе конзоле да бисте проверили успешну инсталацију. Сада проверите да ли можемо да приступимо командама Фласк.
flask --help
Можда ћете видети неке изузетке у вези са одсуством апликације Фласк. Међутим, занемарите их јер нисмо створили ниједну апликацију Фласк. Наша апликација је примерак Фласк-а, омотача веб-оквира Веркзеуг и Јиња механизма за шаблонирање.
Оруђе
Веркзеуг је ВСГИ сет алата. ВСГИ је само конвенција о позивима за прослеђивање веб сервера веб захтеви до веб апликација написаних на програмском језику Питхон.
Јиња
Предлошци су основни скуп вештина програмера. Јиња је потпуно опремљен и популаран механизам за израду шаблона за Питхон. Прилично је изражајан језик и пружа робустан сет алата ауторима шаблона.
Корак 4: Инсталирајте МонгоДБ
Следите доленаведене кораке за инсталирање МонгоДБ. Изложили смо кораке за његову инсталацију у Линук базиран на Дебиану. Ако користите други оперативни систем, приступите линк и инсталирајте према предвиђеном оперативном систему.
Инсталирајте гнупг за увоз МонгоДБ јавног ГПГ кључа.
sudo apt-get install gnupg
Сада увезите кључ помоћу наредбе испод.
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Створите датотеку листе извора према вашој Линук дистрибуцији. Додали смо листу извора према Дебиану.
echo 'deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Покрените команду за ажурирање
sudo apt-get update
Сада инсталирајте МонгоДБ, користећи наредбу испод.
sudo apt-get install -y mongodb-org
Када је инсталација успешна, покрените МонгоДБ помоћу наредбе у наставку.
sudo systemctl start mongod
Проверите статус МонгоДБ, користећи наредбу испод.
sudo systemctl status mongod
Сада осигурајте да се монгод аутоматски покреће при поновном покретању система издавањем доле приказане команде.
sudo systemctl enable mongod
Сада проверите да ли можете да се повежете са МонгоДБ сервером помоћу монго клијента.
mongo
У монго љусци, покушајте да користите помоћ и покажите дбс команде.
Направите апликацију за флашу
Користите доњу команду за инсталирање фласк-аппбуилдер и монгоенгине.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Направите скелетну апликацију са вредностима приказаним као коментари у доњем исечку кода.
flask fab create-app # Give the following values in the command line questionnaire # Application Name: flaskTutorialApp # EngineType : MongoEngine
Видећемо излаз сличан ономе датом у наставку.
Your new app name: exampleApp Your engine type, SQLAlchemy or MongoEngine (SQLAlchemy, MongoEngine) (SQLAlchemy): MongoEngine Downloaded the skeleton app, good coding!
Погледајте изглед пројекта и апликацију. Испод смо приказали излаз наредбе стабла.
Погледајмо датотеку за конфигурацију Фласк. То је задана конфигурација генерисана као резултат последње наредбе. Унцоммент Киборг тема, као што је приказано у наставку.
# Theme configuration for Cybord=g # these themes are located on static/appbuilder/css/themes # We can create our own and easily use them by placing them on the same dir structure to override #APP_THEME = 'bootstrap-theme.css' # default bootstrap #APP_THEME = 'cerulean.css' # cerulean #APP_THEME = 'amelia.css' # amelia theme #APP_THEME = 'cosmo.css' # cosmo theme APP_THEME = 'cyborg.css' # cyborg theme #APP_THEME = 'flatly.css' # flatly theme
Да бисте покренули скелетну апликацију, користите доњу наредбу на терминалу.
flask run
Чутура Хелло Ворлд
Да бисте креирали свој први програм у фласкТуториалАпп, отворите датотеку виевс.пи у директоријуму апликације и додајте следећи код. Потражите изјаве о увозу дате у датотеци. Додајте ове изјаве ако већ нису присутне.
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): ''' This first view of the tutorial ''' route_base = '/hello' @expose('/') def hello(self): return 'Hello, World! from Software Testing Help' # at the end of the file appbuilder.add_view_no_menu(HelloWorld())
Сачувајте датотеку након додавања горњег изворног кода. Идите у основни директоријум пројекта и помоћу наредбе у наставку покрените развојни сервер Фласка.
flask run
Сада идите на хттп: // лоцалхост: 5000 / хелло / да бисте видели излаз у прегледачу.
ц # интервју питања са одговорима
Отклањање грешака
Тренутно се развојни сервер не изводи у режиму отклањања грешака. Без начина отклањања грешака тешко је пронаћи грешке у изворном коду апликације Фласк.
Режим отклањања грешака у боци резултира следећим:
- Режим отклањања грешака активира Аутоматско поновно учитавање. То значи да не морамо поново покретати развојни сервер након што извршимо промене у изворном коду апликације.
- Режим отклањања грешака активира Питхон програм за отклањање грешака. Током изузетка можемо да прегледамо вредности променљивих.
- Режим отклањања грешака омогућава отклањање грешака у апликацији Фласк. Вредности различитих променљивих можемо проверити у сесијама отклањања грешака.
Зауставите развојни сервер ако је већ покренут. Можете да користите ЦТРЛ + Ц или прекид тастатуре да бисте учинили исто.
Користите следећи код да бисте омогућили режим отклањања грешака и привремено покренули развојни сервер.
FLASK_ENV=development flask run
Потражите у конзоли ПИН за отклањање грешака и забележите га.
Сада променимо горе написани ХеллоВорлд приказ са следећим редовима исечка кода. Приметите да смо увели прилагођени изузетак.
@expose('/') def hello(self): raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Идите на хттп: // лоцалхост: 5000 / хелло / и видећете да је апликација покренула изузетак. Прегледник приказује траг стека, као што је приказано доле.

Даље, погледајте конзолу на којој је покренут развојни сервер. Открићете да се овог пута промене у виевс.пи аутоматски откривају, а сервер за отклањање грешака се сам покреће. Сада га не морамо ручно поново покретати.
Конзола ће имати линије, као што је приказано доле. Морамо забележити ПИН за отклањање грешака за касније.
* Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading 2020-06-02 14:59:49,354:INFO:werkzeug: * Detected change in 'https://cdn.softwaretestinghelp.com/work/sth/flaskTutorialApp/app/views.py', reloading * Restarting with stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Restarting with stat * Debugger is active! * Debugger PIN: 150-849-897
Сада проверите траг стека у прегледачу и идите на последњи ред. Кликните на њега да бисте проширили његов приказ и кликните на икону ЦЛИ да бисте отворили љуску у интерактивном режиму.

Једном када га отворите, видећете да ће прегледач приказати упит за ПИН за отклањање грешака. Дајте ПИН за отклањање грешака и кликните на ОК.

Једном када наставимо након давања ПИН-а за отклањање грешака, можемо приступити интерактивној љусци.
Љусци приступамо из прегледача и можемо прегледати вредности променљивих како бисмо пронашли узрок изузетка и на бољи начин се бавили грешком. Молимо погледајте један од примера приказаних на доњој слици.

Сада промените код у виев.пи, као што је приказано доле. Имајте на уму да смо коментарисали линију која је имала истакнути изузетак.
@expose('/') def hello(self): # raise Exception('A custom exception to learn DEBUG Mode') return 'Hello, World! from Software Testing Help'
Тестирање апликације бочице
Напишимо сада наш први тест за апликацију Фласк који развијамо. Прво инсталирајте ПиТест. ПиТест је оквир за тестирање. Помаже нам да напишемо бољи код.
Штавише, само зато што током писања наших апликација можемо писати јединствене тестове, могуће је следити ТДД приступ. ТДД је скраћеница од Тест Дривен Девелопмент. У следећим туторијалима ове серије увек ћемо прво писати тестове и развијати своје ставове или моделе.
Инсталирајте ПиТест
pip install pytest
Сада креирајте директоријум који се зове тестови у директоријуму апликације и у њему креирајте датотеку која се зове тест_хелло.пи. Напишимо први јединични тест како бисмо тестирали наш поглед.
Копирајте следећи исечак кода и налепите га у тест_хелло.пи.
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): ''' A pytest fixture for test client ''' appbuilder.app.config('TESTING') = True with appbuilder.app.test_client() as client: yield client def test_hello(client): ''' A test method to test view hello ''' resp = client.get('/hello', follow_redirects=True) assert 200 == resp.status_code
Користите доњу наредбу питест за покретање тестова. ПиТест аутоматски прикупља тестове и приказује резултате на стандардном излазу.

Направите ГитХуб ток посла
Користимо Гит Акције за креирање ЦИ / ЦД процеса рада за нашу узорку апликације. Следите доленаведене кораке за свој пројекат.
Корак 1: Идите на страницу спремишта на ГитХуб-у. Кликните на Гит Ацтионс.

Корак 2: Померите се надоле по страници и пронађите постојећи образац тока посла за Питхон пакет.

Корак 3: Подесите ток посла Питхон пакета.

Корак 4: Једном када се отвори конфигурација тока посла питхон-пацкаге.имл, ажурирајте је на основу задатих иамл вредности додатних ознака.
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: (3.7, 3.8) mongodb-version: (4.2) steps: - name: Start MongoDB uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: ${{ matrix.mongodb-version }} # other values
Желимо да тестирамо нашу апликацију Фласк на најновијој Убунту Линук дистрибуцији. Поред ОС-а, желимо да покренемо наше тестове само користећи Питхон 3.7 и Питхон 3.8.
Корак 5: Уређивање питхон-пацкаге.имл са ажурираним вредностима.

Корак 6: Урезивање на претходној страници води нас до послова ГитАцтионс.

Корак 7: (Опционо)
На страници Гитхуб Јобс за пример апликације туториал можемо да направимо значку и поставимо је у датотеку РЕАДМЕ.мд за приказ статуса израде.
Сада, кад год су промене додељене главној грани, Гит Воркфлов, како је написано у питхон-пацкаге.имл, биће праћен и покренут на Гит Ацтионс.
Закључак
У овом упутству смо покрили све основне концепте од предуслова до постављања ЦИ / ЦД процеса рада за веб апликацију развијену помоћу Фласк - Оквира за веб развој заснован на Питхону.
Овај водич покрива све неопходне кораке као што су инсталирање Питхона, преузимање и инсталирање Фласка, рад са Фласк-Аппбуилдер-ом, тестирање са ПиТест-ом итд. Да бисте започели са веб развојем помоћу Питхона. Заједница за веб развој обично упоређује Фласк са другим популарним Питхон оквиром за веб развој названим Дјанго.
Објаснићемо ове разлике и упоредићемо те оквире у једном од водича у овој серији.
Препоручено читање
- Дјанго вс Фласк Вс Ноде: Који оквир одабрати
- Водич за Фласк АПИ са примером | Проширење тиквице помоћу АПИ-ја
- Апликација тиквица и изглед пројекта тиквице са нацртом и почетном траком
- Руковање базом података тиквица - Како се користи боца са базом података
- Узорци дизајна тиквица и најбоље праксе за веб апликације
- Предложак тиквице, образац, поглед и преусмеравање са примерима
- Топ 31 популарна питања за интервју са Питхон Фласк-ом са одговорима
- Питхон Водич за почетнике (Практични БЕСПЛАТНИ Питхон тренинг)