Top.Mail.Ru

Создание мощных веб-приложений с SQLite и Flask: пошаговое руководство

Создаем веб-приложения с SQLite и Flask: Полное руководство

Создаем веб-приложения с SQLite и Flask: Полное руководство

Привет, дорогие читатели! Сегодня мы погрузимся в мир веб-разработки, а именно в создание приложений с использованием SQLite и Flask. Если вы когда-нибудь задумывались о том, как сделать свое первое веб-приложение, то вы попали по адресу! В этой статье мы не только рассмотрим основные концепции, но и создадим полноценное приложение шаг за шагом. Приготовьтесь, будет интересно!

Что такое Flask?

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

Основные преимущества Flask:

  • Легкость в освоении и использовании
  • Гибкость в архитектуре приложения
  • Большое количество расширений для добавления функционала
  • Отличная документация и сообщество

Если вы новичок в веб-разработке, Flask — это отличный старт. Вы сможете быстро увидеть результаты своего труда и научиться основам работы с веб-технологиями.

Что такое SQLite?

SQLite — это легковесная реляционная база данных, которая хранит данные в одном файле. Она не требует установки и идеально подходит для небольших приложений и проектов. SQLite поддерживает большинство стандартных SQL-команд, что делает её удобной для использования с Flask.

Вот несколько основных характеристик SQLite:

  • Легкость и простота в использовании
  • Нет необходимости в сервере — база данных хранится в файле
  • Поддержка транзакций и ACID-свойств
  • Отличная производительность для небольших и средних объемов данных

SQLite идеально подходит для разработки, тестирования и небольших приложений. В сочетании с Flask вы получите мощный инструмент для создания веб-приложений.

Установка необходимых инструментов

Перед тем как начать разработку, убедитесь, что у вас установлены Python и pip. Если у вас их нет, скачайте и установите последнюю версию Python с официального сайта. После этого откройте терминал и выполните команду для установки Flask и SQLite:

pip install Flask
pip install Flask-SQLAlchemy

Теперь у вас есть все необходимое для начала работы!

Создание первого приложения на Flask

Давайте создадим простое веб-приложение с использованием Flask и SQLite. Мы будем разрабатывать приложение для управления задачами, где пользователи смогут добавлять, удалять и просматривать свои задачи.

Структура проекта

Сначала создадим структуру нашего проекта. Вот как она будет выглядеть:

/task_manager
    ├── app.py
    ├── models.py
    ├── templates
    │   ├── index.html
    │   └── add_task.html
    └── static
        └── style.css

Теперь давайте создадим файл app.py, который будет основным файлом нашего приложения.

Код приложения

Откройте файл app.py и добавьте следующий код:

from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///tasks.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

class Task(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(200), nullable=False)

    def __repr__(self):
        return f'Task {self.title}'

@app.route('/')
def index():
    tasks = Task.query.all()
    return render_template('index.html', tasks=tasks)

@app.route('/add', methods=['GET', 'POST'])
def add_task():
    if request.method == 'POST':
        task_title = request.form['title']
        new_task = Task(title=task_title)
        db.session.add(new_task)
        db.session.commit()
        return redirect('/')
    return render_template('add_task.html')

if __name__ == '__main__':
    db.create_all()
    app.run(debug=True)

В этом коде мы создали простое приложение с двумя маршрутами: один для отображения всех задач, а другой для добавления новой задачи. Мы используем Flask-SQLAlchemy для работы с базой данных SQLite.

Создание шаблонов

Теперь давайте создадим HTML-шаблоны для нашего приложения. Начнем с файла index.html, который будет отображать список задач.




    
    
    
    Список задач


    

Список задач

Добавить задачу
    {% for task in tasks %}
  • {{ task.title }}
  • {% endfor %}

Теперь создадим файл add_task.html, который будет использоваться для добавления новой задачи:




    
    
    
    Добавить задачу


    

Добавить задачу

Назад

Стилизация приложения

Чтобы наше приложение выглядело немного лучше, давайте добавим несколько стилей. Откройте файл style.css в папке static и добавьте следующий код:

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    padding: 20px;
}

h1 {
    color: #333;
}

a {
    text-decoration: none;
    color: #007bff;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    background: #fff;
    margin: 5px 0;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

Запуск приложения

Теперь, когда все готово, давайте запустим наше приложение. В терминале перейдите в папку проекта и выполните команду:

python app.py

Откройте браузер и перейдите по адресу http://127.0.0.1:5000/. Вы должны увидеть список задач и возможность добавлять новые задачи!

Расширение функционала

Теперь, когда у нас есть базовое приложение, давайте добавим несколько дополнительных функций. Например, мы можем добавить возможность удаления задач. Для этого мы создадим новый маршрут и кнопку удаления для каждой задачи.

Изменение модели Task

Сначала давайте обновим модель Task, добавив метод для удаления задачи:

class Task(db.Model):
    # существующий код...

    def delete(self):
        db.session.delete(self)
        db.session.commit()

Добавление маршрута для удаления задач

Теперь добавим новый маршрут в app.py для удаления задач:

@app.route('/delete/')
def delete_task(task_id):
    task = Task.query.get_or_404(task_id)
    task.delete()
    return redirect('/')

Обновление шаблона index.html

Теперь обновим шаблон index.html, добавив кнопку удаления для каждой задачи:

    {% for task in tasks %}
  • {{ task.title }} Удалить
  • {% endfor %}

Заключение

Поздравляю! Вы только что создали свое первое веб-приложение с использованием Flask и SQLite. Вы узнали, как установить необходимые инструменты, создать базовое приложение, добавить функционал и стилизовать его. Это только начало, и возможности Flask безграничны. Вы можете добавлять аутентификацию, использовать API, интегрировать сторонние библиотеки и многое другое.

Не бойтесь экспериментировать и расширять функционал вашего приложения. Чем больше вы будете практиковаться, тем лучше у вас будет получаться. Удачи в ваших начинаниях, и до новых встреч!

By

Related Post

Яндекс.Метрика Анализ сайта Top.Mail.Ru
Не копируйте текст!
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Отказаться
Политика конфиденциальности