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

2024-01-05 22:30

本文主要是介绍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 = usernameself.password = passworddef __repr__(self):return '<User %r>' % self.userName

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

---再看config.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,这是链接数据库的语句,居然要和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表就创建完毕了, 虽然简单做起来还是遇到了一些小麻烦,多学习多学习。

转载于:https://www.cnblogs.com/shuangzikun/p/taotao_python_flask_db_commit.html

这篇关于flask-日料网站搭建-数据库操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/574354

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态