Привет! Я использую пользователя flask для имитации регистрации с подтверждением и входом в систему, но на этапе регистрации, когда пользователь отправляет форму, я получил сообщение об ошибке, которое говорит мне, что я не инициализировал flask -Почта при в моем коде я инициализирую его, поэтому я искал потенциальную проблему, из-за которой возникла эта ошибка, но я действительно не нахожу, поэтому, если кто-то может помочь мне исправить ее, я ставлю ниже трассировку, полученную из ошибки
Traceback (most recent call last):
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 2464, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 2450, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 1867, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask_user\views.py", line 448, in register
_send_registered_email(user, user_email, require_email_confirmation)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask_user\views.py", line 678, in _send_registered_email
emails.send_registered_email(user, user_email, confirm_email_link)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask_user\emails.py", line 151, in send_registered_email
user_manager.send_email_function(email, subject, html_message, text_message)
File "C:\Users\hp\Travaux\flask-projet\flask_user_tuto\env\lib\site-packages\flask_user\emails.py", line 43, in send_email
raise SendEmailError('Flask-Mail has not been initialized. Initialize Flask-Mail or disable USER_SEND_PASSWORD_CHANGED_EMAIL, USER_SEND_REGISTERED_EMAIL and USER_SEND_USERNAME_CHANGED_EMAIL')
flask_user.emails.send_email.<locals>.SendEmailError: Flask-Mail has not been initialized. Initialize Flask-Mail or disable USER_SEND_PASSWORD_CHANGED_EMAIL, USER_SEND_REGISTERED_EMAIL and USER_SEND_USERNAME_CHANGED_EMAIL
Я помещаю код моего файла инициализации, где я инициализирую приложение, также ниже
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import os
from flask_user import SQLAlchemyAdapter, UserManager
db = SQLAlchemy()
from . models import User
def create_app():
application = Flask(__name__)
application.config['SECRET_KEY'] = os.urandom(24)
application.config['CSRF_ENABLED'] = True
application.config['DEBUG'] = True
application.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\\users\\hp\\travaux\\flask-projet\\flask_user_tuto\\mydb.db'
application.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
application.config['USER_ENABLE_EMAIL'] = True
application.config['MAIL_USERNAME'] = '*******@gmail.com'
application.config['MAIL_PASSWORD'] = '*******'
application.config['MAIL_DEFAULT_SENDER'] = ('APPNAME', '******@gmail.com')
application.config['MAIL_SERVER'] = 'smtp.gmail.com'
application.config['MAIL_PORT'] = 465
application.config['MAIL_USE_SSL'] = True
application.config['MAIL_USE_TLS'] = False
from . import models
db.init_app(application)
with application.app_context():
from . import app
db.create_all()
return application
А здесь ниже код моего app.py
from flask import current_app as app
from . import db
from .models import User
from flask_user import UserManager, SQLAlchemyAdapter, login_required
db_manager = SQLAlchemyAdapter(db, User)
user_manager = UserManager(db_manager, app)
@app.route('/')
def index():
return ' welcome in the unprotected route'
@app.route('/profile')
@login_required
def profile():
return 'you are in the procteted route '