pycharm激活码炸了。。百度了个破解方法。
https://blog.csdn.net/u014044812/article/details/78727496
亲测只有方法三还能用,方法一二都凉了。
使用Flask-Mail提供电子邮件支持
from flask import Flask from flask_mail import Mail app = Flask(__name__) app.config.update( MAIL_SERVER = 'smtp.qq.com', MAIL_PORT = 587, MAIL_USE_TLS = True, # 启用传输层安全协议TLS MAIL_USERNAME = '5*******[email protected]', MAIL_PASSWORD = '**********' # 邮件授权码,非密码 http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256 ) mail = Mail(app)
from flask_mail import Message from hello import mail, app msg = Message('biaoti', sender='5******[email protected]', recipients=['5*******[email protected]']) msg.body = 'just for test, hahaha' # Flask-Mail中send()函数使用current_app,需激活应用上下文 # https://www.jianshu.com/p/7a7efbb7205f with app.app_context(): mail.send(msg)
使用Flask-SQLALchemy在视图函数中操作数据库
import os from flask import Flask, render_template, session, redirect, url_for from flask_wtf import Form from wtforms import StringField, SubmitField from wtforms.validators import Required from flask_sqlalchemy import SQLAlchemy from flask_bootstrap import Bootstrap basedir = os.path.abspath(os.path.dirname(__file__)) app = Flask(__name__) app.config['SECRET_KEY'] = 'hard to guess string' # CSRF保护需要一个密钥 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite') app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True db = SQLAlchemy(app) bootstrap = Bootstrap(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') def __repr__(self): return '<Role %r>' % self.name class 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.username class NameForm(Form): # 简单的WEB单表 name = StringField('What is your name?', validators=[Required()]) submit = SubmitField('Submit') @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 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__': app.run(debug=True)