Flask从入门到做出一个博客的大型教程(三)

Flask从入门到做出一个博客的大型教程(三)

在开始之前,先来看下项目的整体结构。

flask
├── app
│   ├── forms.py
│   ├── __init__.py
│   ├── routes.py
│   └── templates
│       ├── base.html
│       ├── index.html
│       └── login.html
├── config.py
├── myblog.py

4 数据库

对于一个完整的网站数据库是很重要的,因为你的数据得有位置读取呀,网上很多数据库都用的sqlite,但是,我想使用mysql,所以接下来咱们就以mysql为数据库来讲解喽。

(venv) duke@coding:~/flask_tutorial/flask$ pip install flask-sqlalchemy

这样就可以对数据库进行操作了,但是实际项目中会经常对数据库进行修改,但是一般不会手动的去数据库里进行改动,通常的做法是修改ORM对应的模型,然后再把模型映射到数据库中。在flask里有一个集成的工具是专门做这个事情的,安装它。

(venv) duke@coding:~/flask_tutorial/flask$ pip install flask-migrate

因为我使用的是MySQL数据库,而在python3中不再支持mysqldb,因此我们还需要安装pymysql.

(venv) duke@coding:~/flask_tutorial/flask$ pip install pymysql

需要的组件都安装好了,接下来在配置文件里配置数据库。

app/config.py : 使用配置文件config.py中的内容

import os
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
class Config(object):
    #.......
    #格式为mysql+pymysql://数据库用户名:密码@数据库地址:端口号/数据库的名字?数据库格式
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost:3306/flaskblog?charset=utf8'
    #如果你不打算使用mysql,使用这个连接sqlite也可以
    #SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(BASE_DIR,'app.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = False

配置文件设置好了以后,就要对初始化文件进行修改。

app/_ _ init_ _.py : 数据库的初始化设置

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)

from app import routes,models

接下来比较重要的就是设计模型了,model是模型的映射,只有设计好model才能进行一系列的操作。新建一个models.py文件。

(venv) duke@coding:~/flask_tutorial/flask$ touch app/models.py

app/models.py : 用户数据库模型

from app import db

class 
  • 21
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 47
    评论
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值