Използване на шаблони във Flask

Съдържание
Уеб приложението изисква част, която потребителят може да види, която се нарича изглед или изглед и се състои от интерфейс, написан на HTML което ни позволява да показваме статични и динамични данни според пътя, до който потребителят има достъп.
Когато работим с микрорамки като Колба, по подразбиране не е необходимо да се показва изгледът, за да се използват допълнителни елементи, само връщайки кода HTML съответно можем да постигнем, за да покажем последователни данни.
Проблемът възниква, когато нашето приложение започне да расте и имаме няколко изгледа, повторението на кода изпълва нашето приложение с елементи, които бихме могли да използваме повторно и че това, което правим ръчно, представлява по -голяма работа за нас. За да избегнем този проблем, имаме шаблонни двигатели, които ни помагат да използваме отново файловете HTML и по този начин да се намали количеството код в допълнение към увеличаване на четимостта на нашата програма.
Джинджа2 е шаблонна машина, написана изцяло на Python и е моделиран по шаблонен механизъм на Джанго, това ни позволява да поставяме части от код HTML и със собствения код на двигателя, включете етикети, които по -късно ще бъдат заменени с данни от нашето приложение.
Какво друго включва?Той също така включва свои собствени функции, които ни помагат да форматираме данните, които получаваме, в допълнение към обработката на условни условия, функции за дата и други елементи, които ни помагат да програмираме поведението на шаблона по прост и изразителен начин.
В последната версия на Колба Този двигател е включен в инсталацията, така че използването му е по -лесно и по -бързо.
Обсъждахме създаването на изглед в Колба беше толкова просто, колкото отпечатването на кода HTML в желаната функция на пътя, но за начинаещите в тази рамка това може да звучи много объркващо.
В следния пример ще създадем изглед, където ще получим параметър и ще го отпечатаме в резултат, интересното е, че този параметър може да бъде въведен от потребителя, така че изгледът е динамичен до определена точка, нека видим кода и след това ще преминем към обяснението:
 от колба за импортиране Flaskapp = Flask (__ name __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome/') def welcome (name = None): name = име или 'Потребител' връщане '' 'Добре дошли!

Това е нашето виждане, направено във Flask!

'' '% ifname __name__ ==' __main__ ': app.run ()
Тук това, което правим, е нещо много просто, първо импортираме библиотеките, които съдържат рамка, след това дефинираме три ключови маршрута, всички те ни водят до същата функция, наречена welcome и получава параметър, който не е задължителен, където ако не бъде получен, той просто ще бъде игнориран в рамките на програмата.
След това във функцията създаваме нашата инструкция връщане и тук посочваме, че a Низ съдържащи HTML за гледката. Ако тестваме тази програма, ще получим приемлив резултат в браузъра, нека видим:

Мнозина могат да кажат, че това е много функционално, но какво се случва, ако вместо да показваме тази празна страница, искаме да интегрираме CSS стилове, JavaScript ефекти или други неща. Тогава нашият HTML би отнел повече код и следователно всичко би било прекалено сложно, което прави нашето приложение адски за обработка.
Сега ще създадем същия изглед, но използвайки шаблона, описан в началото на урока, за да постигнем примера, трябва да направим някои подготовки, това е свързано със структурата на нашия проект, тъй като ако ще използваме файлове с шаблони, най -добре е да ги отделим от приложението в други папки и по този начин да разделим нашия визуален слой от бизнес правилата и логическия слой.
Знаейки това, тогава трябва да създадем папка за нашите шаблони, за конвенционни цели ще я наречем шаблони, но трябва да имаме и други неща, например трябва да имаме папка, която ще служи като модул и ще я извикаме с името на изгледа, който ще създадем, Освен че трябва да имаме някои файлове, в следващото изображение ще видим пълната структура и след това ще отидем до съответния код, за да работи всичко.

Съдържание на файлаПреди да преминем към генерирането и използването на шаблона, трябва да видим съдържанието на файловете, които ще накарат нашето приложение да работи без проблеми, ще видим за кратко всеки файл, за да не губим много време. Важно е да се отбележи обаче, че това е предложена структура Колба позволява на всеки разработчик да направи структурата, която му подхожда най -добре според целта му.
Този файл е този, който ни позволява да стартираме приложението, откъдето идва и името му, обикновено може да бъде извикано run.py Също така, но за целите на този урок поставяме име, което е по-разбираемо за испаноезичната общност, тук трябва да поставим следния код:
 от flasko import appapp.run (отстраняване на грешки = вярно)

Това е файлът, който е в корена на приложението, необходимо е да можете да установите, че ще се изпълнява и неговите зависимости, в този файл е мястото, където също дефинираме, че файлът ще се използва views.py от папката за добре дошли, която сме виждали преди, това може да има всяко име, но views.py Това е конвенция, която ще ни помогне да поддържаме приятелско приложение, тук трябва да поставим следното:
 от колба внос Flaskapp = колба (__ име __) внос flasko.bienvenido.views

Този файл трябва да е празен, тъй като се нуждаем само от него, за да съществува Колба тълкувайте, че тази папка е модул на нашето приложение.
Тъй като имаме основните файлове за нашето приложение, е време да създадем изгледа и да използваме шаблона. Първото нещо, което ще направим, е да създадем нашия изглед, това ще бъде много подобно на предишния изглед, но подобрено, за това трябва да работим във файла views.py и поставете следното:
 от колба за импортиране render_template, requestfrom flasko import [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', name = name)
Първото нещо, което правим, е от рамката за импортиране на библиотеката, която ни позволява да показваме шаблоните и библиотека за обработка на заявките на браузъра.
След това определяме маршрутите, които ще направят този изглед да се появи, в този случай това е коренът /, а също и когато думата е поставена Добре дошли.
Накрая определяме нашата функция Добре дошли който присвоява на името на променливата параметрите, получени от заявката на браузъра и след това правим връщане на функцията render_template, това е този, който ще извика шаблона и ще предаде името на променливата като параметри, където също посочваме името на шаблона.
Време е да създадете шаблона, това е основно файл със съдържание HTML и с някои тагове, които ще ни помогнат да придадем динамика, файлът за промяна е index.html който е в папката шаблони, нека видим кода, който ще използваме:
 Добре дошли {{name}}

Използваме Flask!

Този код е прост, ние го правим HTML basic и след това, където искаме генерираното съдържание да се появи в изгледа, просто поставяме двойни скоби {{}} и вътре, името на параметъра, това означава, че когато приложението се изпълнява, тази стойност се заменя със съдържанието, което искаме. Ако видим на следното изображение, ще разберем как се поставя името, което предаваме като параметър през URL адреса:

Не само можем да използваме параметри, но и да създаваме речници Python с данни, идващи от постоянен източник като a База данни или нещо подобно и по този начин да можете да поставите още повече данни.
Различни шаблониИнтересното по този въпрос е, че можем да играем с различни шаблони за различни части от нашето приложение, това разделя чистия презентационен слой от това, което всъщност програмираме, като премахваме HTML от средата можем да се разделим на два екипа и по този начин да работим правилно без объркване.
С това приключваме този урок, научихме се да използваме шаблоните в приложения, направени с Колба, този начин на работа ще ни спести усилия и повторение на кода, особено ако разчитаме на официалната документация на Джинджа2 за да извлечете максимума от шаблона. Много е важно да установим структура на проекта и да отделим различните типове файлове, тъй като по този начин ще поддържаме приятелски проект за останалата част от нашия екип за разработка или в случай, че искаме да го качим в кодова мрежа, като напр. GitHub, за да споделите свършената работа с общността.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave