Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Для разработки серверной части приложения были использованы следующие библиотека:
- Flask-микрофреймворк о котором было сказано выше.
- SQL Alchemy библиотека работы с базами данных используя технологию ORM. ORM(Object-Relational Mapping, рус. объектно-реляционное ) это технология программирования, позволяющая работать с записями в базе данных как с обычными объектами в языке программирования. Позволяет абстрагироваться от технологии работы с конкретной базой данных, и работать с ними в объектно-ориентированном стиле.
- SQL Alchemy среди прочих поддерживает работу с базами данных MySQL, PostgreSQL, SQLite, Oracle.
- Записи БД в SQL alchemy представляются в виде объектов, класса, унаследованного от класса SQLAlchemy.DeclarativeBase.
- Flask-SqlAlchemy - это привязка библиотеки SQL Alchemy к фреймворку Flask, предоставляющая более простой доступ к моделям. Мы используем в работе именно Flask-SQLAlchemy.
- Пример определения класса, используя эту библиотеку. Класс соответствует таблице в базе данных, объект этого класса - строку в этой таблице.
- class User(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- # User authentication information
- username = db.Column(db.String(50), nullable=True, unique=True)
- password = db.Column(db.String(255), nullable=False, server_default='')
- Этот класс определяет таблицу пользователей, в которой хранится только имя пользователя и пароль.
- Еще библиотеки, используемая для создания серверной части проекта это flask-admin и flask-user.
- flask-admin это библиотека, являющаяся расширением фреймворка flask, предоставляющая административный интерфейс к моделям sqlalchemy. Административный интерфейс представляет собой страницу, которая дает возможности получения, создания, изменения и удаления объектов данного класса. Кратко эти операции обозначаются как CRUD. Ручное создание таких страниц довольно трудоемко, список необходимых действий включет в себя создание форм, соответствующих модели, создание html страниц, для отображения этих форм, обработка сохранения и так далее, куча мелочей.
- Flask - Admin позволяет автоматизировать эти действия. Например, административный интерфейс для моделий пользователей, определенной нами выше,можно сделать несколькими строками кода,следующим образом.
- from flask_admin.contrib.sqla import ModelView
- admin = Admin(app, name='microblog', template_mode='bootstrap3')
- admin.add_view(ModelView(User, db.session))
- Пример полученного административного интерфейса:
- ========= Тут вставь скрины админки ================
- И последная библиотека, используемая нами, это библиотека управления пользователями Flask-User.
- Она позволяет автоматизировать все действия, связанные с пользователями, такие как регистрация пользователей, авторизация, восстановление паролей и так далее.
- Список необходимых библиотек перечислен в файле requirements.txt в папке с исходным кодом сервера. Вот его содержание:
- flask>=0.10.1
- flask-admin>=1.4.0
- SQLAlchemy>=1.0.13
- Flask-SQLAlchemy>=2.1
- Flask-Admin>=1.4.0
- Для установки этих библиотек, нам необходимо установить систему управления пакетами python называющуюся pip, а так же для обращения к БД MySQL нужно установить библиотеку linux libmysqlclient-dev.
- Это можно сделать командой
- sudo apt-get install libmysqlclient-dev python-pip
- в консоли Linux Ubuntu.
- После выполнения этой команды нужно установить библиотеки python командой
- sudo -H pip install -r requirements.txt
- После выполнения этих команд система готова к запуску. В качестве веб-сервера мы используем встроенный http сервер фреймворка Flask.
- Запустить его и наше приложение нужно командой
- sudo python app.py
- Если все установлено правильно, должен запуститься сервер на 80 порту
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement