内容简介:flask-日料网站搭建-数据库操作
引言:想使用 python 的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,目前已经copy完主页,不是前端太慢太慢。
本节知识:数据库的操作,模型建表,更新数据库。
python环境:python2.7,flask,以及flask相关的库(没有列完,如果运行manage.py时提示未安装的库安装就ok了。)
上节已经把目录搭建好了,目录如下。
今天主要涉及到几个文件,config.py app/modles.py app/main/views.py以及migrations这个文件夹
先把要建的数据库和表先排出来,以及连结本地数据库的用户名和密码:
user:root
password:root
port:localhost:3300
db:f_liaoli
table: admin表
-------------------------------------这是分割线-------------------
---先上模型的代码app/modles.py
# -*- coding: utf-8 -*-
from app import db
###admin table
class User(db.Model):
__tablename__ = 'admin'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
password = db.Column(db.String(128))
def __init__(self, UserCode=None, Password=None):
self.username = username
self.password = password
def __repr__(self):
return '<User %r>' % self.userName
3个字段比较简单,用来测试嘛,足够了。
---再看config.py
# -*- coding: utf-8 -*-
import os
basedir = os.path.abspath(os.path.dirname(__file__))
# 基类
class Config:
SECRET_KEY = 'hard to guess string'
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
FLASKY_MAIL_SUBJECT_PREFIX = '[Flask]'
FLASKY_MAIL_SENDER = 'Flask Admin'
FLASKY_ADMIN = 'dimples'
@staticmethod
def init_app(app):
pass
# 开发环境
class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@localhost:3306/f_liaoli?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS = False
# 测试环境
class TestingConfig(Config):
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')
# 生产环境
class ProductionConfig(Config):
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
# 设置一个config 字典中,注册了不同的配置环境
config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'production': ProductionConfig,
'default': DevelopmentConfig
}
主要看开发环境那个class,这是链接数据库的语句,居然要和pymysql一起用,mmp我用 mysql 试了半天,很尴尬。
------app/main/views
# -*- coding: utf-8 -*-
from flask import render_template, session, redirect, url_for, current_app
from .. import db
from ..models import User
from . import main
@main.route('/', methods=['GET', 'POST'])
def index():
return render_template('index.html')
@main.route('/admin/login', methods=['GET', 'POST'])
def Alogin():
return render_template('admin/login.html')
@main.route('/admin/', methods=['GET'])
def Aindex():
return render_template('admin/index.html')
##from ..models import * 这个需要写上,否则也创建不了。 ---------------这是分割线----------------- 准备工作完毕之后开始测试了 进入manage.py目录 执行python manage.py db init
提示migrations文件夹已经存在,拿我们去吧这个删除了。
删一下再执行。
运行之后,本地也创建了该文件夹。
--执行python manage.py db migrate -m "inition migrate"
---执行python manage.py db upgrade
到此admin表就创建完毕了, 虽然简单做起来还是遇到了一些小麻烦,多学习多学习。
以上所述就是小编给大家介绍的《flask-日料网站搭建-数据库操作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 摆脱redux繁琐操作,搭建mobx框架
- 架构师必看!操作日志系统搭建秘技
- 超详细Memcached+LAMP搭建详解操作命令
- spark集群搭建和简单运维操作
- k8s 概念梳理 搭建集群 基本操作
- 【持续更新】最全Hexo博客搭建+主题优化+插件配置+常用操作+错误分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Out of their Minds
Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00
This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!