引言:想使用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

  1. # -*- coding: utf-8 -*-
  2. from app import db
  3.  
  4. ###admin table
  5. class User(db.Model):
  6. __tablename__ = 'admin'
  7. id = db.Column(db.Integer, primary_key=True)
  8. username = db.Column(db.String(64), unique=True, index=True)
  9. password = db.Column(db.String(128))
  10. def __init__(self, UserCode=None, Password=None):
  11. self.username = username
  12. self.password = password
  13. def __repr__(self):
  14. return '<User %r>' % self.userName

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

---再看config.py

  1. # -*- coding: utf-8 -*-
  2. import os
  3.  
  4. basedir = os.path.abspath(os.path.dirname(__file__))
  5.  
  6. # 基类
  7. class Config:
  8. SECRET_KEY = 'hard to guess string'
  9. SQLALCHEMY_COMMIT_ON_TEARDOWN = True
  10. FLASKY_MAIL_SUBJECT_PREFIX = '[Flask]'
  11. FLASKY_MAIL_SENDER = 'Flask Admin'
  12. FLASKY_ADMIN = 'dimples'
  13. @staticmethod
  14. def init_app(app):
  15. pass
  16.  
  17. # 开发环境
  18. class DevelopmentConfig(Config):
  19. DEBUG = True
  20. SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@localhost:3306/f_liaoli?charset=utf8'
  21. SQLALCHEMY_TRACK_MODIFICATIONS = False
  22. # 测试环境
  23. class TestingConfig(Config):
  24. TESTING = True
  25. SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data-test.sqlite')
  26.  
  27. # 生产环境
  28. class ProductionConfig(Config):
  29. SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
  30.  
  31. # 设置一个config 字典中,注册了不同的配置环境
  32. config = {
  33. 'development': DevelopmentConfig,
  34. 'testing': TestingConfig,
  35. 'production': ProductionConfig,
  36. 'default': DevelopmentConfig
  37. }

主要看开发环境那个class,这是链接数据库的语句,居然要和pymysql一起用,mmp我用mysql试了半天,很尴尬。

------app/main/views

  1. # -*- coding: utf-8 -*-
  2. from flask import render_template, session, redirect, url_for, current_app
  3. from .. import db
  4. from ..models import User
  5. from . import main
  6.  
  7. @main.route('/', methods=['GET', 'POST'])
  8. def index():
  9. return render_template('index.html')
  10.  
  11. @main.route('/admin/login', methods=['GET', 'POST'])
  12. def Alogin():
  13. return render_template('admin/login.html')
  14.  
  15. @main.route('/admin/', methods=['GET'])
  16. def Aindex():
  17. return render_template('admin/index.html')
  1. ##from ..models import * 这个需要写上,否则也创建不了。
    ---------------这是分割线-----------------
    准备工作完毕之后开始测试了
    进入manage.py目录 执行python manage.py db init

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

删一下再执行。

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

--执行python manage.py db migrate -m "inition migrate"

---执行python manage.py db upgrade

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

flask-日料网站搭建-数据库操作的更多相关文章

  1. flask-日料网站搭建-后台登录

    引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,今天教大家实现后台登录功能,比较简单. 本节知识:表单标签,表单验证,数据查询,模板 pytho ...

  2. flask-日料网站搭建

    引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互. 本节知识:搭建web目录,目前正在copy网站. python环境:python2.7,fla ...

  3. flask-日料网站搭建-ajax传值+返回json字符串

    引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互,今天教大家实现ajax操作,返回json. 本节知识:jquery,json,ajax pyth ...

  4. 【Django】Django model与数据库操作对应关系(转)

    Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...

  5. 数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  6. Python框架学习之Flask中的数据库操作

    数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中.如用户名.密码等等其他信息.Django框架是一个基于MVT思想的框架,也就是说他本身就已经封装了Model类 ...

  7. net core Webapi基础工程搭建(六)——数据库操作_Part 1

    目录 前言 SqlSugar Service层 BaseService(基类) 小结 前言 后端开发最常打交道的就是数据库了(静态网站靠边),上一篇net core Webapi基础工程搭建(五)-- ...

  8. 03 flask数据库操作、flask-session、蓝图

    ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射. 1.优点 : 只需要面向对象编程, 不需要面向数据库编写代码. ...

  9. flask数据库操作

    Python 数据库框架 大多数的数据库引擎都有对应的 Python 包,包括开源包和商业包.Flask 并不限制你使用何种类型的数据库包,因此可以根据自己的喜好选择使用 MySQL.Postgres ...

随机推荐

  1. 【转载】Java系列笔记(1) - Java 类加载与初始化

    Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...

  2. 青否云 - 小程序待办事项vue开源系统

    青否云最新开源系统:小程序待办事项 vue-demo 青否云 vue demo 下载地址:https://github.com/qingful/vue-demo 官网 http://cloud.qin ...

  3. DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)

           最近花了点时间把<破坏之王-DDOS攻击与防范深度剖析>看了一遍,坦白来说,这本书比较浅显,可以说是入门书,当然对于我这种对DDOS一知半解的人来说,也是一本不错的书,起码我 ...

  4. Python3 学习Python流程--试水中

    二.基础语法之后可以搭载服务器练习: 教程 一.1.Python 搭建环境. 初学基本语法 :Python基本语法 2.推荐 IDE :  PyCharm CE 下载 菜鸟教程都是基础语法,可以对py ...

  5. [Maven] Missing artifact

    今天从朋友那拷过来一个maven工程,eclipse中maven配置好了,maven仓库也配置完毕,但是一直报Missing artifact,然后开网执行maven update,下载完jar后,还 ...

  6. treeview插件使用:根据子节点选中父节点

    鄙人公司没有专门的前端,所以项目开发中都是前后端一起抡.最近用bootstrap用的比较频繁,发现bootstrap除了框架本身的样式组件外,还提供了多种插件供开发者选择.本篇博文讲的就是bootst ...

  7. golang 如何验证struct字段的数据格式

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/125 假设我们有如下结构体: type User struct ...

  8. xamarin android checkbox自定义样式

    xamarin android checkbox自定义样式 在drawable文件在新建checkbox_bg.xml文件 <?xml version="1.0" encod ...

  9. Nginx 错误处理方法: bind() to 0.0.0.0:80 failed

    Nginx 错误处理方法: bind() to 0.0.0.0:80 failed 今天启动window上的nginx总是报错 错误信息是bind() to 0.0.0.0:80 failed (10 ...

  10. Confluence5.4.4迁移至6.3.1

    1.数据备份 服务器查看: 2.安装破解文件及安装包至服务器 3.停止旧版本并启动安装 4.访问8090端口开始安装 5.获取授权码,需要能访问国外网站,并且有atlassian账号 6.将数据库连接 ...