一,路由Route
app=Flask( __name__, template_folder='xxx', static_folder='xxx', static_url_path='/xxx' )
app.run(debug=True,port=端口号,host='IP地址')
例:
@app.route('/register',methods=['GET','POST'])
def register():
if request.method == 'GET':
return render_template('register.html')
else:
uname =request.form['username']
email=request.form['email']
uurl=request.form['url']
upwd=request.form['password']
savetosql(uname,email,uurl,upwd)
return return render_template('login.html')
@app.route('/show/
') def show(name): print(name)
二,模板 Templates
@app.route('/01-selftemp')
def selftemp():
name='aaaaa'
pwd='i am happy'
return render_template('test1.html',name=name,pwd=pwd)
{
{ name|capitalize }}
{
{pwd|title}}
{
{age|default('保密')}}
{% macro show(list) %} {% for name in list %} 姓名:{
{name}} {% endfor %} {% endmacro %}
三,请求和 响应
四,模型 Models
模型是对应与业务数据所需要创建出来的数据存储模型,为了建立项目中的数据与数据表中的数据所对应而产生的。
创建数据库中的表的字段与项目中的参数一一映射。
class MODELNAME(db.Model): __tablename__ = "TABLENAME" COLUMN_NAME=db.Column(db.TYPE,OPTIONS) COLUMN_NAME=db.Column(db.TYPE,OPTIONS) ... ...
| 类型名 | python类型 | 说明 |
|---|---|---|
| Integer | int | 普通整数,32位 |
| SmallInteger | int | 小整数,16位 |
| BigInteger | int | 不限精度整数 |
| Float | float | 浮点数 |
| Numeric | deciaml.Decimal | 定点数 |
| String | str | 字符串 |
| Text | str | 字符串 |
| Boolean | bool | 布尔值 |
| Date | datetime.date | 日期:年月日 |
| Time | datetime.time | 时间:时分秒 |
| DateTime | datetime.datetime | 日期和时间:年月日时分秒 |
OPTIONS 列选项:
| 选项名 | 说明 |
|---|---|
| autoincrement | 如果设置为True表示该列要自动增长 |
| primary_key | 如果设置为True表示该列为主键 |
| unique | 如果设置为True表示该列的值唯一 |
| index | 如果设置为True表示该列创建索引 |
| nullable | 如果设置为True表示该列允许为空,默认是非空 – False |
| default | 为列指定默认值 |
例:
class Users(db.Model): __tablename__ = "users" id = db.Column(db.Integer,primary_key=True) username=db.Column(db.String(80),unique=True) age = db.Column(db.Integer,nullable=True) email=db.Column(db.String(200),unique=True) birth=db.Column(db.Date) isActive = db.Column(db.Boolean,default=True)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175731.html原文链接:https://javaforall.net
