python 代碼:hello.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/10/16 13:23
# @Author : mr.xu
# @Site :
# @File : hello.py
# @Software: PyCharm Community Edition
from flask import Flask,render_template
from flask_script import Manager
from flask_bootstrap import Bootstrap
from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField
from wtforms.validators import Required
from flask import session,redirect,url_for
from flask_sqlalchemy import SQLAlchemy
import os
from flask_migrate import Migrate,MigrateCommand
from flask_mail import Mail,Message
app=Flask(__name__)
app.config['SECRET_KEY']='hard to guess string'
manager=Manager(app)
bootstrap=Bootstrap(app)
#配置數(shù)據(jù)庫并初始化
basedir=os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI']='sqlite:///'+os.path.join(basedir,'data.sqlite')
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWW']=True
db=SQLAlchemy(app)
# 數(shù)據(jù)庫遷移
migrate=Migrate(app,db)
manager.add_command('db',MigrateCommand)
# 配置Flask-mail并初始化
app.config['MAIL_SERVER']='smtp.163.com'
app.config['MAIL_PORT']=465
app.config['MAIL_USE_SSL']=True
app.config['MAIL_USERNAME']='賬號@163.com'
app.config['MAIL_PASSWORD']='授權(quán)密碼'
mail=Mail(app)
# 郵件支持
app.config['FLASK_MAIL_SUBJECT_PREFIX']=['Flasky']
app.config['FLASK_MAIL_SENDER']='21533983@qq.com'
def send_email(to,subject,template,**kwargs):
msg=Message(app.config['FLASK_MAIL_SUBJECT_PREFIX']+subject,sender=app.config['FLASK_MAIL_SENDER'],recipients=[to])
msg.body=render_template(template+'.txt',**kwargs)
msg.html=render_template(template+'.html',**kwargs)
mail.send(msg)
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.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(FlaskForm):
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
if app.config['FLASK_ADMIN']:
send_email(app.config['FLASK_ADMIN'],'New User','mail/new_user',user=user)
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__':
app.run(debug=True)
# manager.run()
這個是模板index.html
{%extends "base.html"%}
{%import"bootstrap/wtf.html" as wtf%}
{%block title%}Flasky-Index{%endblock%}
{%block page_content%}
<div class="page-header">
<h1>Hello,{%if name%}{{name}}{% else %}Stranger{%endif%}!</h1>
{%if not known%}
<p>Pleased to meet you!</p>
{%else%}
<p>Happy to see you again!</p>
{%endif%}
</div>
{{wtf.quick_form(form)}}
{%endblock%}
模板加載正常但是發(fā)送郵件部分不對
報錯:
Traceback (most recent call last):
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1997, in __call__
return self.wsgi_app(environ, start_response)
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "D:\python\pythonObject\Flasky\venv\lib\site-packages\flask\app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:\python\pythonObject\Flasky\hello.py", line 80, in index
if app.config['FLASK_ADMIN']:
KeyError: 'FLASK_ADMIN'
錯誤提示為:KeyError: 'FLASK_ADMIN'
哪里的錯?
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。