render_template и папка templates
Возвращайте HTML-файл вместо строки.
«render_template и папка templates» — бесплатный урок Flask Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
From Strings to Pages
So far your routes returned plain strings. Real pages need HTML, and Flask gives you render_template to serve full HTML files cleanly.
What render_template Does
render_template finds an HTML file, runs it through the template engine, and returns the finished page as your response body.
from flask import render_template
@app.route('/')
def home():
return render_template('index.html')The templates Folder
Flask looks for your HTML in a folder named templates next to your app file. Put index.html there and Flask finds it automatically. 📁
myapp/
app.py
templates/
index.htmlWhy a Fixed Name
The name templates is a convention, not a guess. Flask knows where to look, so you never write the folder path inside render_template.
Reference Only the Filename
You pass just the filename, not a full path. Flask joins it onto the templates folder for you, keeping your code short and portable.
return render_template('about.html')Subfolders Inside templates
You can group pages in subfolders and reference them with forward slashes. This keeps a large project tidy as it grows.
return render_template('users/profile.html')A Minimal Template
A template is ordinary HTML at heart. The simplest one is just a regular page with no special syntax yet.
<!doctype html>
<title>Home</title>
<h1>Welcome</h1>Templates Get Rendered
Even a plain file is rendered: Flask processes it through Jinja2 first. That step is what lets you add dynamic pieces later.
Returning the Result
render_template returns a string of HTML, which you return from your view. Flask wraps it in a proper response with the right content type.
@app.route('/')
def home():
return render_template('index.html')TemplateNotFound Errors
If Flask cannot find the file, you get a TemplateNotFound error. Check the spelling and that the file truly sits inside templates.
Separating Logic and Markup
Templates keep HTML out of your Python. Views handle logic, templates handle presentation, and that split keeps both far easier to read.
Quick Check
Where does Flask expect your HTML files to live by default?
Recap
You learned that render_template serves HTML from the templates folder by filename, so logic stays in Python and markup stays in files. Nice work! 🎉
Часто задаваемые вопросы
Урок «render_template и папка templates» бесплатный?
Да — полный текст урока «render_template и папка templates» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «render_template и папка templates»?
Возвращайте HTML-файл вместо строки. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «render_template и папка templates»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- render_template и папка templates
- Передача данных в шаблон
- Циклы и условные конструкции Jinja2
- Автоэкранирование и фильтр safe