from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_mail import Mail
import os
app = Flask(name)
app.config['SECRET_KEY'] = 'e0595aee9c9642fcc22c7868d386e61d'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
app.config['SQLALCHEMY_TRACK_MOFIDICATIONS'] = True
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
loginmanager = LoginManager(app)
loginmanager.login_view = 'login'
app.config["MAIL_SERVER"] = "smtp.gmail.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_PORT"] = 587
app.config["MAIL_USE_TLS"] = True
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = os.environ.get("MAIL_USER")
app.config["MAIL_PASSWORD"] = os.environ.get("MAIL_PASS")
mail = Mail(app)
from activate import
......
view.py
def send_reset_mail(user):
token = user.get_reset_token()
msg = Message('Password Reset Request',
sender="noreply@demo.com",
recipients=[user.email])
msg.body = f'''To Reset your password visit the ignore thie email and no changes will be made,
{url_for('reset_token', token=token, _external=True)}
If you did not make this request the simply ignore this email and no changes will be made.
'''
mail.send(msg)
@app.route('/reset_password',methods=['GET','POST'])
def reset_request():
if current_user.is_authenticated:
return redirect(url_for('home'))
form = RequestResetForm()
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
send_reset_mail(user)
flash('An email has been with instructions to reset your password ', 'info')
return redirect(url_for('home'))
return render_template('reset_request.html', title="reset password", form=form)
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_bcrypt import Bcrypt from flask_login import LoginManager from flask_mail import Mail import os app = Flask(name) app.config['SECRET_KEY'] = 'e0595aee9c9642fcc22c7868d386e61d' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' app.config['SQLALCHEMY_TRACK_MOFIDICATIONS'] = True db = SQLAlchemy(app) bcrypt = Bcrypt(app) loginmanager = LoginManager(app) loginmanager.login_view = 'login' app.config["MAIL_SERVER"] = "smtp.gmail.com" app.config["MAIL_PORT"] = 465 app.config["MAIL_PORT"] = 587 app.config["MAIL_USE_TLS"] = True app.config["MAIL_USE_SSL"] = True app.config["MAIL_USERNAME"] = os.environ.get("MAIL_USER") app.config["MAIL_PASSWORD"] = os.environ.get("MAIL_PASS") mail = Mail(app)
from activate import ...... view.py
def send_reset_mail(user): token = user.get_reset_token() msg = Message('Password Reset Request', sender="noreply@demo.com", recipients=[user.email]) msg.body = f'''To Reset your password visit the ignore thie email and no changes will be made, {url_for('reset_token', token=token, _external=True)} If you did not make this request the simply ignore this email and no changes will be made. ''' mail.send(msg)
@app.route('/reset_password',methods=['GET','POST']) def reset_request(): if current_user.is_authenticated: return redirect(url_for('home')) form = RequestResetForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() send_reset_mail(user) flash('An email has been with instructions to reset your password ', 'info') return redirect(url_for('home')) return render_template('reset_request.html', title="reset password", form=form)