为了账号安全,请及时绑定邮箱和手机立即绑定

bootstrap+flask+mysql实现网站查询

标签:
MySQL

   之前那篇文章是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 -pmysql@123 -e 'load data local infile "result.txt" into table web12306.web12306 fields terminated by "---" lines terminated by "\n";'

查看数据导入情况:

wKiom1T-4QnhxW_4AAUr9mgwFGw547.jpg

数据有了,剩下还是上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:mysql@123@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/<user_id>', 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)

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

©著作权归作者所有:来自51CTO博客作者老徐_kevin的原创作品,谢绝转载,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消