Flask & MongoDB — набор материалов (бесплатный образец)

Привет Кодеры!

В этой статье представлен открытый исходный код Пример Flask, использующий MongoDB для сохранения информации. MongoDB — это база данных документов, которая упрощает использование классической базы данных, но при этом предоставляет все возможности, необходимые современным приложениям. Выпущенный под лицензией MIT, исходный код можно использовать в коммерческих проектах или просто в деятельности по электронному обучению.

Спасибо!

MongoDB и Flask — образец с открытым исходным кодом


MongoDB интерфейс предоставляется Flask-MongoEngine, популярная библиотека, которая управляет соединением с помощью простого объектно-ориентированного API. Вот необходимые шаги для привязки любого приложения Flask к MongoDB.

👉 Шаг 1 — Добавить MONGODB_SETTINGS в конфигурация

Этот раздел используется библиотекой Flask-MongoEngine для подключения и управления запросами на чтение/запись.

MONGODB_SETTINGS = {
        'PORT':27017,
        'host': os.getenv('MONGO_HOST','localhost'),
        'DB'  : os.getenv('MONGO_DB','materialkit-flask')
    }

Приведенный выше фрагмент кода загружает данные подключения из среды, но его также можно использовать с жестко запрограммированными данными.


👉 Шаг 2 — Создайте объект Mongo «db» и привяжите его к Колба



app = Flask(__name__)  
db  = MongoEngine()    
db.init_app(app)       


app.session_interface = MongoEngineSessionInterface(db) 

👉 Шаг 3 — Обновлять Модели определение

from apps import db  

class Users(db.Document, UserMixin):

    meta = {'collection': 'users'}

    username = db.StringField(required=True)
    email    = db.EmailField(required=True)
    password = db.StringField(required=True)  

В этом определении специфичны для MongoDB две вещи:

  • Users повторно использовать определение db.document
  • Object meta: это указывает collection MongoDB файл

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


Войти Flow — найти текущего пользователя


from apps.authentication.models import Users


username = request.form['username'] 


user = Users.objects(username=username).first() 

if user:
  
  
  login_user(user)
else:
  

Мы видим, что API запросов MongoDB гораздо ближе к синтаксису SqlAlchemy, и даже новички или новые пользователи должны быстро адаптироваться.


Постановка на учет Поток — создание новых пользователей (если их нет)

from apps.authentication.models import Users


email = request.form['email']


user = Users.objects(username=username).first() 
if user:
  
  
  

user = Users.objects(email=email).first() 
if user:
  
  


user = Users(username=username,email=email,password=pass)
user.save() 

Приложение можно запустить в локальной среде, используя классические шаги для любого проекта Flask: установить зависимости, настроить среду и запустить проект с помощью встроенного сервера Flask или других серверов WSGI, таких как Gunicorn или uWSGI.

После запуска приложения мы должны увидеть страницу SignIN (гостевые пользователи принудительно проходят аутентификацию). После аутентификации доступны все приватные страницы.


Flask и MongoDB — страница входа


Фласк и MongoDB — Изображение обложки

Flask и MongoDB — компонент обложки


Фласк и MongoDB -Командный компонент

Flask & MongoDB — компонент командных карточек


Этот удивительный дизайн предоставляется бесплатно Creative-Тим с 60 отдельными элементами внешнего интерфейса, такими как кнопки, входы, панели навигации, вкладки навигации, карты, оповещения и образцы страниц: профиль пользователя, страница контактов, вход и целевая страница.

Дизайн соответствует шаблонам Google Material Design, а также уникальному компоненту дизайнерского видения Creative-Tim.

Версию Bootstrap 5 можно скачать с это место нахождения.

Комплект материалов — дизайн Bootstrap 5 с открытым исходным кодом


Thanks for reading! Дополнительные ресурсы и поддержка доступны по адресу:

Похожие записи

Добавить комментарий

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