Advertisement
Guest User

Untitled

a guest
May 26th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.86 KB | None | 0 0
  1. Для разработки серверной части приложения были использованы следующие библиотека:
  2. Flask-микрофреймворк о котором было сказано выше.
  3.  
  4. SQL Alchemy библиотека работы с базами данных используя технологию ORM. ORM(Object-Relational Mapping, рус. объектно-реляционное ) это технология программирования, позволяющая работать с записями в базе данных как с обычными объектами в языке программирования. Позволяет абстрагироваться от технологии работы с конкретной базой данных, и работать с ними в объектно-ориентированном стиле.
  5. SQL Alchemy среди прочих поддерживает работу с базами данных MySQL, PostgreSQL, SQLite, Oracle.
  6. Записи БД в SQL alchemy представляются в виде объектов, класса, унаследованного от класса SQLAlchemy.DeclarativeBase.
  7.  
  8. Flask-SqlAlchemy - это привязка библиотеки SQL Alchemy к фреймворку Flask, предоставляющая более простой доступ к моделям. Мы используем в работе именно Flask-SQLAlchemy.
  9.  
  10. Пример определения класса, используя эту библиотеку. Класс соответствует таблице в базе данных, объект этого класса - строку в этой таблице.
  11.  
  12.  
  13. class User(db.Model):
  14. id = db.Column(db.Integer, primary_key=True)
  15.  
  16. # User authentication information
  17. username = db.Column(db.String(50), nullable=True, unique=True)
  18. password = db.Column(db.String(255), nullable=False, server_default='')
  19.  
  20.  
  21. Этот класс определяет таблицу пользователей, в которой хранится только имя пользователя и пароль.
  22.  
  23. Еще библиотеки, используемая для создания серверной части проекта это flask-admin и flask-user.
  24.  
  25. flask-admin это библиотека, являющаяся расширением фреймворка flask, предоставляющая административный интерфейс к моделям sqlalchemy. Административный интерфейс представляет собой страницу, которая дает возможности получения, создания, изменения и удаления объектов данного класса. Кратко эти операции обозначаются как CRUD. Ручное создание таких страниц довольно трудоемко, список необходимых действий включет в себя создание форм, соответствующих модели, создание html страниц, для отображения этих форм, обработка сохранения и так далее, куча мелочей.
  26. Flask - Admin позволяет автоматизировать эти действия. Например, административный интерфейс для моделий пользователей, определенной нами выше,можно сделать несколькими строками кода,следующим образом.
  27.  
  28. from flask_admin.contrib.sqla import ModelView
  29. admin = Admin(app, name='microblog', template_mode='bootstrap3')
  30. admin.add_view(ModelView(User, db.session))
  31.  
  32. Пример полученного административного интерфейса:
  33.  
  34. ========= Тут вставь скрины админки ================
  35.  
  36. И последная библиотека, используемая нами, это библиотека управления пользователями Flask-User.
  37. Она позволяет автоматизировать все действия, связанные с пользователями, такие как регистрация пользователей, авторизация, восстановление паролей и так далее.
  38.  
  39.  
  40. Список необходимых библиотек перечислен в файле requirements.txt в папке с исходным кодом сервера. Вот его содержание:
  41.  
  42. flask>=0.10.1
  43. flask-admin>=1.4.0
  44. SQLAlchemy>=1.0.13
  45. Flask-SQLAlchemy>=2.1
  46. Flask-Admin>=1.4.0
  47.  
  48. Для установки этих библиотек, нам необходимо установить систему управления пакетами python называющуюся pip, а так же для обращения к БД MySQL нужно установить библиотеку linux libmysqlclient-dev.
  49. Это можно сделать командой
  50. sudo apt-get install libmysqlclient-dev python-pip
  51. в консоли Linux Ubuntu.
  52.  
  53. После выполнения этой команды нужно установить библиотеки python командой
  54.  
  55. sudo -H pip install -r requirements.txt
  56.  
  57. После выполнения этих команд система готова к запуску. В качестве веб-сервера мы используем встроенный http сервер фреймворка Flask.
  58. Запустить его и наше приложение нужно командой
  59. sudo python app.py
  60.  
  61. Если все установлено правильно, должен запуститься сервер на 80 порту
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement