Flask web开发之路十四
今天开始Flask的实战,创建一个项目,实现包括用户登录、注册、注销、发表博客、评论以及检索等功能
首先给出项目结构:

1.config.py文件:
存放各种配置信息
import os # dialect+driver://username:password@host:port/database
DIALECT = 'mysql'
DRIVER = 'pymysql'
USERNAME = '用户名'
PASSWORD = '密码'
HOST = '域名'
PORT = '端口号'
DATABASE = '数据库名' SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
DEBUG = True SECRET_KEY = os.urandom(24)#用于生成session密钥
2.decorators.py文件存放限制登录的装饰器,之后会提到
3.exts.py文件存放数据库实例化对象
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
4.hyqbook.py主app文件
5.manage.py文件,存放命令行窗口操作的一系列代码,包括数据库初始化,数据库迁移,数据库更新等
from flask_script import Manager
from flask_migrate import Migrate,MigrateCommand
from hyqbook import app
from exts import db
from models import User,Question,Answer manager = Manager(app) # 使用Migrate绑定app和db
migrate = Migrate(app,db) # 添加迁移脚本的命令到manager中
manager.add_command('db',MigrateCommand) if __name__ =="__main__":
manager.run()
5.models..py文件,存放数据模型
Flask web开发之路十四的更多相关文章
- Flask web开发之路十二
ge请求和post请求 ### get请求和post请求:1. get请求: * 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求. * 传参:get请求传参是放 ...
- Flask web开发之路十
首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models ...
- Flask web开发之路四
jinjia2模板 模板渲染和参数传递 项目结构如下: 主app文件代码: from flask import Flask,render_template app = Flask(__name__) ...
- Flask web开发之路九
flask_scripts介绍 项目结构如下: flask_script_demo.py文件: from flask import Flask app = Flask(__name__) @app.r ...
- Flask web开发之路一
之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...
- Flask web开发之路十三
g对象 ### 保存全局变量的g属性:g:global1. g对象是专门用来保存用户的数据的.2. g对象在一次请求中的所有的代码的地方,都是可以使用的. 项目结构: g_demo.py文件代码: f ...
- Flask web开发之路十一
首先写一下cookie和session的概念,然后是Flask中session的工作机制以及操作session ### cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态 ...
- Flask web开发之路八
今天写Flask_SQLAlchemy的外键及其关系 ### Flask-SQLAlchemy外键及其关系: 主app文件代码: from flask import Flask from flask_ ...
- Flask web开发之路七
今天写SQLAlchemy数据库 首先介绍ORM的概念: ORM,Object类,Relationship:关系,Mapping:映射,也就是模型关系映射 flask-sqlalchemy是一套ORM ...
随机推荐
- Linux ext3/ext4数据恢复
2012年12月9日 测试环境: Ubuntu 12.04 X86 +ext4 恢复文件使用的工具:extundelete(点击下载) 说明:当文件异常消失或者rm误删除后,避免在该分区中继 ...
- tmux 基本用法
C代表Ctrl,按下Ctrl+b之后tmux不会有任何反应,只要继续再按下一个键就会有反应. tmux #开启tmux tmux ls #显示已有tmux列表(C-b s) tmux attach-s ...
- Winform开发框架之通用附件管理模块 --SNF快速开发平台3.3-Spring.Net.Framework
最近项目太多都没有时间写文章了,实际项目需求一,CS端和windows平板都需要附件上传管理功能.以前做的都是BS的附件管理和上传功能.本来计划在Winform上嵌套一个浏览器直接用bs的附件上传功能 ...
- https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm
https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm { "annotat ...
- 阿里巴巴CI:CD之分层自动化实践之路
阿里巴巴CI:CD之分层自动化实践之路 2018-05-30 摘自:阿里巴巴CI:CD之分层自动化实践之路 目录 1 自动化 1.1 为什么要做自动化? 1.2 自动化的烦恼 1.3 自动化的追 ...
- ODbgScript 2.01帮助文档
-------------------------------ODbgScript original pluginhttp://github.com/odbgscript--------------- ...
- 线程安全的ConcurrentQueue<T>队列
队列(Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队. ConcurrentQueue< ...
- VS2012+openCV 2.4.8进行编译:VS2012 64位 使用OPENCV应用程序不能正常启动 (0xc000007b)怎么处理?
[OpenCV入门教程之一] 安装OpenCV:OpenCV 2.4.8 +VS 开发环境配置 http://blog.csdn.net/poem_qianmo/article/details/198 ...
- mysql按天数据统计
例: SELECT DATE_FORMAT(`create_time`, ) AS num FROM `dc_loan_aa_orders` GROUP BY DATE_FORMAT(`create_ ...
- 运维监控系统之Open-Falcon
一.Open-Falcon介绍 1.监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器.操作系统.中间件.应用进行全面的监控,及报警,对我们的系统正常运 ...