使用python+flask 搭建web 项目(一) :操作本地mysql数据库
一、 先安装Mysql 到本地:
安装,配置,创建用户名,密码 设置端口号后 待创建链接时使用;
二、安装PyCharm(这个编辑器写python 比较方便);
配置环境变量;
三、进行项目创建
1. 打开pycharm,创建flask项目: File -->New Project.. --->
网上的资料上大都是这样的界面,这个安装的是专业版本的pycharm, 才会有专门的flask创建项目选项!!!!
下面是我的pycharm 版本的操作样式:我的不是专业版本的pycharm,但是我下面的创建的一样是可以用的!!!!
只需要自己手动创建纯的python项目后,添加上满足flask项目的目录文件即可!!! (即为添加上面的两个目录,一个默认app.py文件即可)
我的pycharm版本创建时这样的
2. 完善新创建的flask项目,: falsk_web 项目
首先,
使用pip安装Flask_SQLAlchemy
pip install flask_sqlalchemy
使用数据库需要下载,如果有用其他数据库的还需要下载,
MySQL:pip install PyMySQL
Postgres: pip install psqcopg2
MSSQL:pip install pyodbc
Oracle: pip install cx_Oracle
但若使用的sqlite数据库就不需要了,此处我使用mysql数据库,提前下载好
然后,
在配置文件里配置数据库: app/config.py : (根目录下新建文件config.py)
import os
class Config(object):
HOSTNAME='127.0.0.1'
PORT='3306'
DATABASE='test'
USERNAME='root'
PASSWORD='*****'
DB_URI='mysql+pymysql://{username}:{password}@{host}:{port}/{db}'.format( username=USERNAME, password=PASSWORD,
host=HOSTNAME, port=PORT, db=DATABASE )
SQLALCHEMY_DATABASE_URI=DB_URI
SQLALCHEMY_TRACK_MODIFICATIONS=False
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
配置好文件后,对初始化文件进行修改 app/_ _ init_ _.py : 数据库的初始化设置 (根目录下新建文件_ _ init_ _.py)
# encoding: utf-8
from flask import Flask
#导入配置文件
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
#添加配置信息
app.config.from_object(Config)
#建立数据库关系
db = SQLAlchemy(app)
# 绑定app和数据库,以便进行操作
migrate = Migrate(app,db)
--------------------------------------------------------------------------------------------------------------------------------
需要安装:flask_migrate ,使用 pip install flask_migrate (我在安装的时候各种尝试,总是告诉我安装失败,最后不知道咋就突然好了??????!!!!!!!!!!!)
最后,
比较重要的就是设计模型了,model是模型的映射,只有设计好model才能进行一系列的操作。
依旧在根目录下新建一个models.py文件。 app/models.py : 用户数据库模型;
from app import db
ROLE_USER = 0
ROLE_ADMIN = 1
'''明确users表的结构'''
class User(db.Model):
__tablename__='User_tb' # 定义表名为User_tb
id = db.Column(db.Integer,primary_key = True)
nickname = db.Column(db.String(64),index = True,unique = True)
emial =db.Column(db.String(120),index = True, unique = True)
#password = db.Column(db.String(128))
role = db.Column(db.SmallInteger,default = ROLE_USER)
def __repr__(self):
return '<User %r' % (self.nickname)
db.drop_all()
db.create_all()
if __name__ == '__main__':
per_one = User(nickname='You', emial='456.@mwee.com')
per_two = User(nickname='Me', emial='123@mwee.com')
db.session.add_all([per_one, per_two]) #向表中添加两条数据
db.session.commit()
----------------------------------------------------------------------------------------------------------------------------------
完整的目录结构如下: (templates目录,名字一定不要写错,flask项目运行后,会自动去改包下找对应的 .html文件的. emmm 截图中我好想就写错了!!!!)
再然后,先创建名为“test”的数据库,提供使用; 命令行下:CREATE DATABASE 数据库名;
即为:mysql> create database test;
扩展: 查看数据库: mysql> SHOW DATABASES; (记住,要加上“;”标点符号)
切换到新建库:mysql> use test;
查看新建库中表信息:mysql> show tables;
接着,可以执行建表并且插入数据操作了!!!!
运行models.py文件,然后查看数据库变化:
完成!!!!!