import osfrom flask import Flask, render_template, session, redirect, url_forfrom flask_script import Manager, Shellfrom flask_bootstrap import Bootstrapfrom flask_moment import Momentfrom flask_wtf import Formfrom wtforms import StringField, SubmitFieldfrom wtforms.validators import Requiredfrom flask_sqlalchemy import SQLAlchemyfrom flask_migrate import Migrate, MigrateCommandfrom flask_mail import Mailbasedir = os.path.abspath(os.path.dirname(__file__))app = Flask(__name__)app.config[‘SECRET_KEY‘] = ‘hard to guess string‘app.config[‘SQLALCHEMY_DATABASE_URI‘] = ???‘sqlite:///‘ + os.path.join(basedir, ‘data.sqlite‘)app.config[‘SQLALCHEMY_COMMIT_ON_TEARDOWN‘] = Trueapp.config[‘MAIL_SERVER‘] = ‘smtp.163.com‘app.config[‘MAIL_PORT‘] = 465app.config[‘MAIL_USE_TLS‘] = Falseapp.config[‘MAIL_USE_SSL‘] = Trueapp.config[‘MAIL_USERNAME‘] = ‘username@163.com‘app.config[‘MAIL_PASSWORD‘] = ‘authorization_code ‘manager = Manager(app)bootstrap = Bootstrap(app)moment = Moment(app)db = SQLAlchemy(app)migrate = Migrate(app, db)mail = Mail(app)class Role(db.Model): ???__tablename__ = ‘roles‘ ???id = db.Column(db.Integer, primary_key=True) ???name = db.Column(db.String(64), unique=True) ???users = db.relationship(‘User‘, backref=‘role‘, lazy=‘dynamic‘) ???def __repr__(self): ???????return ‘<Role %r>‘ % self.nameclass User(db.Model): ???__tablename__ = ‘users‘ ???id = db.Column(db.Integer, primary_key=True) ???username = db.Column(db.String(64), unique=True, index=True) ???role_id = db.Column(db.Integer, db.ForeignKey(‘roles.id‘)) ???def __repr__(self): ???????return ‘<User %r>‘ % self.usernameclass NameForm(Form): ???name = StringField(‘What is your name?‘, validators=[Required()]) ???submit = SubmitField(‘Submit‘)def make_shell_context(): ???return dict(app=app, db=db, User=User, Role=Role)manager.add_command("shell", Shell(make_context=make_shell_context))manager.add_command(‘db‘, MigrateCommand)@app.errorhandler(404)def page_not_found(e): ???return render_template(‘404.html‘), 404@app.errorhandler(500)def internal_server_error(e): ???return render_template(‘500.html‘), 500@app.route(‘/‘, methods=[‘GET‘, ‘POST‘])def index(): ???form = NameForm() ???if form.validate_on_submit(): ???????user = User.query.filter_by(username=form.name.data).first() ???????if user is None: ???????????user = User(username=form.name.data) ???????????db.session.add(user) ???????????session[‘known‘] = False ???????else: ???????????session[‘known‘] = True ???????session[‘name‘] = form.name.data ???????return redirect(url_for(‘index‘)) ???return render_template(‘index.html‘, form=form, name=session.get(‘name‘), ??????????????????????????known=session.get(‘known‘, False))if __name__ == ‘__main__‘: ???manager.run()
算是成功了
记录一下 到时放到整合文件里
Flask Web 发送邮件单文件
原文地址:http://www.cnblogs.com/eternal1025/p/7761837.html