Learning Flask / #1 – Building Websites with Python

Posted by


Изучение Flask – это отличный способ начать создавать веб-сайты на языке программирования Python. Flask – это легкий и гибкий микрофреймворк, который предоставляет простой способ создания веб-приложений.

Шаг 1: Установка Flask
Для начала изучения Flask необходимо установить его на ваш компьютер. Для этого откройте терминал или командную строку и введите следующую команду:

pip install Flask

Шаг 2: Создание простого веб-приложения
После установки Flask можно начать создавать свое первое веб-приложение. Создайте новый файл Python и назовите его app.py. Введите следующий код в этот файл:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

Этот код создает простое веб-приложение, которое отображает сообщение "Hello, World!" при открытии главной страницы.

Шаг 3: Запуск веб-приложения
Чтобы запустить ваше веб-приложение, введите следующую команду в терминале или командной строке:

python app.py

После этого ваше веб-приложение будет доступно по адресу http://127.0.0.1:5000/. Перейдите по этой ссылке в веб-браузере и убедитесь, что вы видите сообщение "Hello, World!".

Шаг 4: Добавление дополнительных страниц
Чтобы добавить дополнительные страницы к вашему веб-приложению, вы можете определить новые функции представления и указать путь к ним с помощью декоратора @app.route(). Например, следующий код добавляет страницу /about, которая отображает сообщение "About Us":

@app.route('/about')
def about():
    return 'About Us'

После добавления этого кода перезагрузите ваше веб-приложение, чтобы изменения вступили в силу.

Шаг 5: Шаблоны и статические файлы
Чтобы сделать ваше веб-приложение более динамичным, вы можете использовать шаблоны Jinja2 для создания HTML-страниц с динамическим содержанием. Создайте папку templates в вашем проекте и создайте в ней файл index.html со следующим содержанием:

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome to our website!</h1>
</body>
</html>

Затем измените функцию представления для главной страницы следующим образом:

from flask import render_template

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

Теперь ваша главная страница будет отображаться с использованием шаблона index.html.

Также вы можете добавить статические файлы, такие как CSS и JavaScript, в ваше веб-приложение, создавая папку static и помещая файлы в нее.

Шаг 6: Работа с формами
Flask также предоставляет простой способ работать с формами на веб-сайте. Вы можете использовать модуль WTForms для создания форм и их валидации. Создайте дополнительный файл forms.py и определите в нем форму:

from wtforms import Form, StringField, SubmitField

class ContactForm(Form):
    name = StringField('Name')
    email = StringField('Email')
    submit = SubmitField('Submit')

Затем создайте шаблон для формы, добавив следующий код в index.html:

<form method="POST">
    {{ form.hidden_tag() }}
    {{ form.name.label }} {{ form.name(size=20) }}
    {{ form.email.label }} {{ form.email(size=20) }}
    {{ form.submit() }}
</form>

Измените функцию представления для главной страницы, чтобы отображать и обрабатывать форму:

from forms import ContactForm

@app.route('/', methods=['GET', 'POST'])
def home():
    form = ContactForm()

    if form.validate_on_submit():
        name = form.name.data
        email = form.email.data

        # Делайте что-то с полученными данными

    return render_template('index.html', form=form)

Теперь ваше веб-приложение будет отображать форму на главной странице, и вы можете обрабатывать отправленные данные.

В заключение, изучение Flask – это отличный способ начать создавать веб-приложения на Python. С помощью простого и интуитивно понятного синтаксиса вы можете создавать динамичные и интерактивные веб-сайты без лишних сложностей. Надеюсь, эта статья окажется полезной для вас и поможет вам начать свое путешествие в мир веб-разработки с Flask.

0 0 votes
Article Rating
41 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@АндрейТрепаков-с8н
1 month ago

Очень просто и доходчиво. Сейчас даже такой базы достаточно, чтобы потом с помощью нейронок сделать крупный проект. Я сделал ошибку, для своего проекта сначала решил изучить Django . Задача у меня не самая сложная, а фреймворк оказался слишком объёмным. А тут всё гораздо проще, функционала мне с головой хватит.

@akasteroid2625
1 month ago

Гоша ты красавчик
все твои видосы огонь

@СемьяКа
1 month ago

когда я ввожу /авоут он говорит ничего не найдено

@joy-jitsu
1 month ago

Thank you! 🙏😊

@yakushevich19
1 month ago

у меня не получается ипользлвать render_template, после его использования на локалке TemplateNotFound при том вся стрктура на месте шаблоны заполнены(

@Ahegao_solo
1 month ago

У меня есть готовый проект, подскажите как посмотреть его url адресс

@F0-xt6gp
1 month ago

Здравствуйте, подскажите как избавиться от ошибки : from flask import Flask подчеркивает красным, flask установил но не импортируется , весь гугл перелистал и никак не могу найти решение данной проблемы.

@Dark_Main_Alpha
1 month ago

Спасибо мистер теперь я научился писать код и могу взломать людей fishing и bruce force DDOS и теперь мне и за этого компьютер не разрешает это мой последних комментария спасибо за детство😂😊

@mardonabdunazarov8148
1 month ago

подскажите пожалуйста, какие версии flask и flask-sqlalchemy использовались в данном курсе.

@ДенисКотов-з7у
1 month ago

Очень познавательное видео. Но при запуске пишет, что "WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead." т.е. данным способом нельзя создать полноценный (настоящий) сервер. Планируется ли еще видео про создание WSGI + Flask ?

@timofeis.1335
1 month ago

Вы лучший Спасибо <з

@Larriva666
1 month ago

Немного сумбурное видео. Кроме фласка захватывается много лишнего. Про запуск не раскрыто flask run

@verygood4936
1 month ago

У меня не обновляется сайт, что делать?
После внесения изменений в код (добавление раздела '/about', например или изменение текста на начальной странице) не происходит никаких изменений

@ThePercivalGlyde
1 month ago

maladeec

@МухаммадСуранов-т3ф
1 month ago

Спасибо!

@crowartie1112
1 month ago

Лучший

@legonebostudio3893
1 month ago

Все сделал как надо, последняя функция не работает!!!!

@ivanl7786
1 month ago

Для кого это обучение? Для тех, кто уже всё установил и немного создавал приложения? Тогда зачем им показать как устанавливать библиотеку и создавать проект? Если это обучения для тех, кто знаком с Python, но не знаком с разработкой сайтов и приложений – то я бы его никогда не купил. Автор совершает какие-то действия, но не объясняет зачем он это делает, не передаёт архитектуру происходящего и того, к чему мы должны прийти. Таких видео тьма на YouTube.

@EugeneFe
1 month ago

в этом видео ЛУЧШИМ образом разъяснено про часто используемую конструкцию > if __name__="__main__".
Большое спасибо автору за труды!!

@mKein
1 month ago

Прошу прощения, может ли кто мне объяснить в чем моя ошибка мне в терминале выдает ошибку "WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead."