Python
文章平均质量分 77
ying847782627
这个作者很懒,什么都没留下…
展开
-
Flask迁移数据库
在开发程序的过程中,你会发现有时需要修改数据库模型,而且修改之后还需要更新数据库。仅当数据库表不存在时, Flask-SQLAlchemy 才会根据模型进行创建。因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库中的所有数据。 更新表的更好方法是使用数据库迁移框架。源码版本控制工具可以跟踪源码文件的变化,类似地,数据库迁移框架能跟踪数据库模式的变化,然后增量式的把变化应原创 2016-04-25 20:09:39 · 7297 阅读 · 1 评论 -
从Excel手动导入数据到SQLite数据库中(Flask)
在Flask项目中,应用SQLite数据库。有来自Excel的大量数据需要导入数据库。工具都要付费,就自己导入了一下:利用Python 中的xlrd库,需要先安装这个库。$pip install xlrd(app为项目文件夹,app.models里面定义了Benke_grade类)class Benke_grade(db.Model): __tablename__ =原创 2016-06-20 21:05:13 · 2782 阅读 · 0 评论 -
flask数据库可视化SQLite
Flask-SQLAlchemy 是一个 Flask 扩展,简化了在 Flask 程序中使用 SQLAlchemy 的操作。SQLAlchemy 是一个很强大的关系型数据库框架, 支持多种数据库后台。 SQLAlchemy 提供了高层 ORM,也提供了使用数据库原生 SQL 的低层功能。和其他大多数扩展一样, Flask-SQLAlchemy 也使用 pip 安装:(venv) $原创 2016-04-22 18:13:35 · 5148 阅读 · 0 评论 -
Flask创建虚拟数据
在Flask开发中,经常需要一个包含大量数据的数据库,比如说实现分页功能。手动添加数据库记录浪费时间而且很麻烦, 所以最好能使用自动化方案。有多个 Python 包可用于生成虚拟信息,其中功能相对完善的 ForgeryPy,可以使用 pip 进行安装:(venv) $ pip install forgerypy 因为它只在开发过程中使用,严格来说, Forgery原创 2016-04-22 17:32:59 · 2120 阅读 · 0 评论 -
Flask需求文件重新生成虚拟环境
在大型的Flask多文件程序中,一个项目对应一个虚拟环境,如果需要在另一个目录或者另一台电脑重新生成虚拟环境的话就得重新下载安装各种扩展包。所以为了避免这种情况以及程序与安装版本号不兼容的问题,程序中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。 如果要在另一台电脑上重新生成虚拟环境, 这个文件的重要性就体现出来了,例如部署程序时使用的原创 2016-04-22 17:05:39 · 2060 阅读 · 0 评论 -
Flask 数据库多对多关系
数据库使用关系建立记录之间的联系。其中,一对多关系是最常用的关系类型,它把一个记录和一组相关的记录联系在一起。实现这种关系时,要在“多”这一侧加入一个外键,指向“一”这一侧联接的记录。大部分的其他关系类型都可以从一对多类型中衍生。 多对一关系从“多”这一侧看,就是一对多关系。 一对一关系类型是简化版的一对多关系, 限制“多”这一侧最多只能有一个记录。唯一不能从一对多关系中简单演化出来的类型是多对多原创 2016-05-06 17:05:58 · 10989 阅读 · 1 评论 -
Flask下拉列表与数据库同步
WTForms 对 HTML 表单控件 进行 SelectField 包装,从而实现下拉列表。使用下拉列表有两种情况,第一种直接下拉选择设定的值,然后将选择的值读取存储。这种情况比较简单,1.首先,在form.py中定义表单以及SelectField下拉列表app\main\form.pyclass SmFormAdmin(Form): status = Sele原创 2016-05-06 12:07:56 · 17049 阅读 · 3 评论 -
Flask分页显示数据
在做网页的过程中,随着展示的数据增多,如果要在一页中显示全部内容,浏览速度会变慢且不符合实际需求。在 Web 浏览器中, 内容多的网页需要花费更多的时间生成、下载和渲染, 所以网页内容变多会降低用户体验的质量。这一问题的解决方法是分页显示数据,进行片段式渲染。在页面中渲染数据app/main/views.py @main.route('/userManage_admin',原创 2016-05-06 10:06:42 · 20002 阅读 · 0 评论 -
windows下Flask上传文件路径
在windows下用Flask实现图片上传,上传后总是找不到正确的文件夹路径。修改上传文件夹为如下的时候:UPLOAD_FOLDER =sys.path[0]上传到程序所在的当前文件夹,但是添加了当前路径下的文件夹后就会出错,试过了各种组合,最后找到了一个很好的并且可以随意任何操作系统之间迁移的方法:python中os.path常用模块:os.path.sep路径分隔符 ,linux下原创 2016-04-21 14:51:37 · 5024 阅读 · 0 评论 -
Flask不能显示中文解决办法
在FLask程序编写中,发现遇到程序中出现中文就会提示错误。加入#-*- coding: utf-8 -*-也没用。后来发现是Python中的默认编码没有‘UTF-8’。所以修改如下:进入安装Python目录,进入Lib目录下,找到mimetypes.py文件,打开后加入如下语句后保存import sysdefault_encoding = 'utf-8'if sys.getd原创 2016-04-20 21:19:16 · 9113 阅读 · 1 评论 -
Flask 多文件基本结构
程序变复杂后,使用单个大型源码文件会导致很多问题。不同于大多数其他的 Web 框架, Flask 并不强制要求大型项目使用特定的组织方式,程序结构的组织方式完全由开发者决定。在这里介绍一种使用包和模块组织大型程序的方式。多文件 Flask 程序的基本结构|-flasky |-app/ |-templates/ |-static/原创 2016-04-19 11:49:47 · 2983 阅读 · 0 评论 -
Flask 重定向用户和会话
用户输入名字后提交表单,然后点击浏览器的刷新按钮,会看到一个莫名其妙的警告,要求在再次提交表单之前进行确认。之所以出现这种情况,是因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求。如果这个请求是一个包含表单数据的POST 请求,刷新页面后会再次提交表单。大多数情况下,这并不是理想的处理方式。很多用户都不理解浏览器发出的这个警告。 基于这个原因,最好别让Web 程序把 POST 请求作原创 2016-04-12 21:11:47 · 6160 阅读 · 0 评论 -
Flask Python以二进制六存储图片数据库并读取
一般都会存储路径,担忧少数的要求存储图片到数据库。下面的例子介绍了如何在Flask项目里存储图片到数据库以二进制流的方式。并从数据库读取app\models.pyclass Document3(db.Model): __tablename__ = 'documents3' id = db.Column(db.Integer, primary_key=True原创 2016-05-13 11:25:03 · 7606 阅读 · 2 评论 -
Flask更新数据库出错
在修改模型更新数据库总是出错,现把大概见到的错误总结一下。1.数据库关系不正确。在刚添加的模型中,如果不是非常确定,并且添加的模型比较多的话,建议先写简单的模型,探索明白具体过程,确定没有其他问题的时候,再添加复杂关系依赖。并且一定要设置debuge=True.此时再根据报错修改关系就简单多了。2.如果是直接在模型上添加一列的话,操作步骤为,修改模型-->执行迁移-->更新数据库原创 2016-04-26 09:29:52 · 2115 阅读 · 0 评论 -
Flask 数据库多对多自引用关系
上篇介绍的多对多关系是两个模型是之间的多对多关系,关联表联接的是两个明确的实体,还有些情况下只有一个模型,与自己之间存在多对多关系。比如用户之间的关注。表示用户关注其他用户时,只有用户一个实体,没有第二个实体。如果关系中的两侧都在同一个表中, 这种关系称为自引用关系。 在关注中, 关系的左侧是用户实体,可以称为“关注者”;关系的右侧也是用户实体,但这些是“被关注者”。从概念原创 2016-05-09 20:04:41 · 4663 阅读 · 3 评论 -
Flask 数据库高级多对多关系
之前介绍了多对多关系:http://blog.csdn.net/ying847782627/article/details/51333090 在之前介绍的多对多关系中,关联表就是一个简单的表,不是模型,SQLAlchemy 会自动接管这个表。多对多关系可以分解成原表和关联表之间的两个一对多关系。这个表里面存储了原表的两个主键作为自己的联合主键。存在的问题:因为在这种关联表里操原创 2016-05-07 19:43:04 · 4285 阅读 · 0 评论