falsk mysql条件查询_bootstrap+flask+mysql编写查询页面

这篇博客介绍了如何利用Flask与MySQL结合,创建一个条件查询页面。首先创建数据库和表,然后导入数据,接着展示Python代码,使用SQLAlchemy进行数据库连接,并定义session模型。通过@app.route('/scan/')实现GET请求,根据user_id查询数据库并返回结果。前端代码未在本文中展示。
摘要由CSDN通过智能技术生成

之前那篇文章是flask+redis的,如果用flask+mysql怎么实现呢?

创建数据库:CREATE DATABASE `web12306`  DEFAULT CHARACTER SET utf8;

创建表:CREATE TABLE `web12306` (

`user_email` varchar(100) NOT NULL DEFAULT ‘‘,

`user_pass` varchar(100) NOT NULL DEFAULT ‘‘,

`user_name` varchar(100) NOT NULL DEFAULT ‘‘,

`user_id` varchar(100) NOT NULL DEFAULT ‘‘,

`user_nic` varchar(100) NOT NULL DEFAULT ‘‘,

`user_phone` varchar(100) NOT NULL DEFAULT ‘‘

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

导入数据,数据文件还是result.txt,同样的格式。mysql -uroot [email protected] -e ‘load data local infile "result.txt" into table web12306.web12306 fields terminated by "---" lines terminated by "\n";‘

查看数据导入情况:

04f2c9737e00194322ae12a6d45dd21d.png

数据有了,剩下还是上python代码了,使用mysql时,需要用到sqlalchemy# -*- coding: utf-8 -*-

from flask import Flask, request, render_template, jsonify, json

from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)

db = SQLAlchemy(app)

app.config[‘SQLALCHEMY_DATABASE_URI‘] = ‘mysql://root:[email protected]@localhost/web12306‘

class session(db.Model):

__tablename__ = ‘web12306‘

user_id = db.Column(db.String(100), primary_key = True)

user_email = db.Column(db.String(100))

user_pass = db.Column(db.String(100))

user_nic = db.Column(db.String(100))

user_phone = db.Column(db.String(100))

user_name = db.Column(db.String(100))

@app.route(‘/scan/‘, methods=[‘GET‘])

def scan(user_id):

result = session.query.filter_by(user_id=user_id).first()

if result is None:

json_result={‘user_id‘:None}

return json.dumps(json_result,ensure_ascii=False)

else:

json_result = {‘user_id‘: result.user_id, ‘user_email‘: result.user_email, ‘user_pass‘: result.user_pass, ‘user_nic‘: result.user_nic, ‘user_phone‘: result.user_phone, ‘user_name‘: result.user_name}

return json.dumps(json_result,ensure_ascii=False)

@app.route(‘/‘)

def index():

return render_template(‘index.html‘)

if __name__ == ‘__main__‘:

app.run(host=‘0.0.0.0‘, port = 8080, debug=True)

前端代码请看上一篇文字。

本文出自 “老徐的私房菜” 博客,谢绝转载!

原文:http://laoxu.blog.51cto.com/4120547/1619120

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值