内容简介: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博客搭建+主题优化+插件配置+常用操作+错误分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP经典实例(第3版)
David Sklar、Adam Trachtenberg / 苏金国、丁小峰 / 中国电力出版社 / 2015-7 / 128.00
想要掌握PHP编程技术?或者想要学习如何完成一个特定的任务?那么一定要先看看《PHP经典实例(第3版)》。本书介绍了专门为PHP 5.4和5.5修订的350个经典技巧,并提供了丰富的示例代码。特别是对生成动态Web内容的解决方案做了全面更新,从使用基本数据类型到查询数据库,从调用RESTful API到测试和保护网站安全都有涵盖。 各个技巧都提供了示例代码,可以免费使用,另外还讨论了如何解决......一起来看看 《PHP经典实例(第3版)》 这本书的介绍吧!