首页 >> 大全

flask-日料网站搭建-数据库操作

2024-01-06 大全 30 作者:考证青年

引言:想使用的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,目前已经copy完主页,不是前端太慢太慢。

本节知识:数据库的操作,模型建表,更新数据库。

环境:.7,flask,以及flask相关的库(没有列完,如果运行.py时提示未安装的库安装就ok了。)

上节已经把目录搭建好了,目录如下。

搭建资料库_建立材料库_

今天主要涉及到几个文件,.py app/.py app/main/views.py以及这个文件夹

先把要建的数据库和表先排出来,以及连结本地数据库的用户名和密码:

user:root

:root

port::3300

db:

table: admin表

-------------------------------------这是分割线-------------------

---先上模型的代码app/.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 = usernameself.password = passworddef __repr__(self):return '' % self.userName

3个字段比较简单,用来测试嘛,足够了。

---再看.py

# -*- coding: utf-8 -*-
import osbasedir = os.path.abspath(os.path.dirname(__file__))# 基类
class Config:SECRET_KEY = 'hard to guess string'SQLALCHEMY_COMMIT_ON_TEARDOWN = TrueFLASKY_MAIL_SUBJECT_PREFIX = '[Flask]'FLASKY_MAIL_SENDER = 'Flask Admin'FLASKY_ADMIN = 'dimples'@staticmethoddef init_app(app):pass# 开发环境
class DevelopmentConfig(Config):DEBUG = TrueSQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@localhost:3306/f_liaoli?charset=utf8'SQLALCHEMY_TRACK_MODIFICATIONS = False
# 测试环境
class TestingConfig(Config):TESTING = TrueSQLALCHEMY_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,这是链接数据库的语句,居然要和一起用,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

_建立材料库_搭建资料库

提示文件夹已经存在,拿我们去吧这个删除了。

_建立材料库_搭建资料库

删一下再执行。

_建立材料库_搭建资料库

运行之后,本地也创建了该文件夹。

搭建资料库_建立材料库_

--执行 .py db -m " "

搭建资料库__建立材料库

---执行 .py db

建立材料库__搭建资料库

建立材料库__搭建资料库

到此admin表就创建完毕了, 虽然简单做起来还是遇到了一些小麻烦,多学习多学习。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了