برای اینکه بتوانیم از سرویس ارسال ایمیلی که ایجاد کردیم بهتر استفاده کنیم لازم است قابلیت های آن را درون برنامه ایجاد کنیم. اینکار به منظور جلوگیری از تکرار عملیاتی است که هر بار برای ارسال ایمیل باید انجام شود.
برای اینکه بتوانیم از سرویس ارسال ایمیلی که ایجاد کردیم بهتر استفاده کنیم لازم است قابلیت های آن را درون برنامه ایجاد کنیم. اینکار به منظور جلوگیری از تکرار عملیاتی است که هر بار برای ارسال ایمیل باید انجام شود.
برای اینکه پیکربندی هایی که در مراحل قبل ایجاد کردیم را مورد آزمایش دهیم با استفاده از دستورات زیر اقدام به ارسال ایمیل با استفاده از شل پایتون می کنیم.
بسیاری از اپلیکیشن ها برای برقراری ارتباط با کاربران جهت یادآوری رخدادهای سیستمی خود از ایمیل استفاده می کنند. بدین منظور می توانیم مستقیما از پکیج smtplib استفاده کنیم که یک کتابخانه استاندارد برای پایتون می باشد، اما به جهت تطابق مناسب این پکیج با فلاسک ما از اکستنشنی به نام Flask-Mail استفاده می کنیم که در حقیقت آن نیز در برگیرنده ی همین کتابخانه است ولی تطابق بهتری با فریمورک اصلی ما یعنی فلاسک دارد.
زمانی که با استفاده از اسکرپیت قبلی دو تابع مورد نظر را ایجاد کردیم می توانیم با استفاده از آنها اقدام به ارتقا پایگاه داده کنیم.
در حوزه ی فریمورک Alembic یک مهاجرت برای پایگاه داده ها توسط یک اسکرپیت انجام می پذیرد که می تواند شامل دو تابع باشد. این دو تابع عبارتند از upgrade() و downgrade() .
برای اینکه شروع به استفاده از اکستنشن Flask-Migrate کنیم باید ابتد آن را از طریق دستور زیر نصب کنیم
زمانی که توسعه ی وب اپلیکیشن را مد نظر داریم، به مرور زمان خصوصیاتی را به سیستم خود اضافه می کنیم که نیاز به تغییرات در مدل های پایگاه داده را ضروری می کند. حال اینکه اگر تغییراتی را در مدل ها ایجاد کنیم نیاز است تا پایگاه داده را بروزرسانی کنیم.
بطور پیش فرض برای استفاده کردن از مدل هایی که برای پایگاه داده یک وب اپلیکیشن فلاسک ایجاد کردیم، باید هرگاه یک جلسه در شل ترتیب دادیم، اقدام به اضافه کردن این مدل ها کنیم که این کار بسیار تکراری و خسته کننده می باشد. برای اینکه از این مشکل رهایی پیدا کنیم، یک اسکریپت فلاسک ایجاد می کنیم که این عملیات را بصورت خودکار برای ما انجام دهد.
تا بدین مرحله، نحوه ی ایجاد مدل ها برای جداول پایگاه داده و استفاده از این مدل ها درون ترمینال را فراگرفتیم. حال برای اینکه بتوانیم یک قدم به استفاده عملی از این پایگاه داده نزدیکتر شویم باید بتوانیم از پایگاه داده و اطلاعات درون حین فراخوانی توابع مسئول استفاده کنید.
به صورت پیش فرض Flask-SQLAlchemy یک شی به نام query درون هر یک از مدل هایی که ما ایجاد می کنیم قرار می دهد که با استفاده از آن می توانیم اقدام به پرس و جو از جدول مربوط به آن مدل کنیم.