Flask Web开发问题集合

1.安装Flask -- pip install Flask

2.安装SQLAlchemy --- pip install Flask-SQLAlchemy

3.安装Flask-WTForm ---- pip install Flask-WTF

4.将包依赖信息保存到requirement.txt文件中

pip freeze > requirement.txt

安装txt文件中的所有包

pip install -r requirement.txt

5. 将一个外部数据库导入到postgressql 数据库中

先新建一个数据库 如:xuemc_bd

在cmd命令行,进入postgressql数据库安装路径bin目录下,再使用 psql -h localhost -U postgres -W -d xuemc_bd < xuemc_db.sql

6.安装BOOTSTRAP --- pip install Flask-bootstrap

7.

在建立model 时,总是报relationship无法建立。

解决办法:删除relationship语句,在子表中的字段直接设置Foreignkey(父表.字段)

8.

建立Flask项目时,在根目录建一个run.py文件用作启动项目,在根目录新建app文件夹,在app文件夹中再新建一__init__.py程序,用作初始化app用,然后再新建view.py程序,用作逻辑处理。

run.py 中包含内容:

from App文件夹名称 import app

import App文件夹名称.views

if __name__ == '__main__':

app.run(debug=True)

 

__init__.py中包含内容:

app = Flask(__name__)

 

view.py 中包含内容:

@app.route('/')

def indext():

return ...

 

9.

建数据表时,设置ID 为唯一键,类型不能选择 int ,要选择serial 类型,否则插入数据时会报错id 违反非空约束

 

10.当页面有表单数据需要提交但又不想重载整个页面时,可以使用ajax异步提交数据,只提交表单数据给服务器,不重载整个页面。

 

页面jquery代码:

<script>

$(document).ready(function() {

$("#sendmsg").click(function(){

$.ajax({url:"/sendmesg/",data:{"textmsg":$("#textmsg").val()},success: function(data){

$("#xiaoxishow").append("<br />");

$("#xiaoxishow").append(data);

}

});

}

);

});

</script>

 

 

python 代码:

@app.route('/sendmesg/')

def sendmesg():

fname = session['rname']

nid = session['id']

msg = request.args.get('textmsg')

if fname == '':

flash('Please select a friend to sendmessage!')

return redirect(url_for('detail', radioname=fname))

else:

newf = model.Friendship.query.filter_by(friendname=fname,userid=nid).one()

newmsg = model.Message(message=msg,friendid=newf.id)

model.db.session.add(newmsg)

model.db.session.commit()

 

return msg

 

 

11.上传图片到服务器时,页面的FORM表单要设置 enctype="multipart/form-data" 参数

<form role="form" method="post" action="/changface/" enctype="multipart/form-data">

 

转载于:https://my.oschina.net/u/3317385/blog/878048

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值