![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
wushaojun321
这个作者很懒,什么都没留下…
展开
-
flask sqlalchemy(一)
参考它的文档,创建如下示例:encoding:utf8import osfrom flask import Flaskfrom flask_sqlalchemy import SQLAlchemya = os.path.dirname(__file__)basedir = os.path.abspath(os.path.dirname(__file__))#获取当前文件的目录,用以存放dat原创 2016-11-03 12:11:06 · 434 阅读 · 0 评论 -
python基础复习之数字和字符串
1、简述变量、对象、引用的关系(用一到两句话) a = 1 a是变量名,1是对象,a引用了1,a没有类型,type(a)==type(1) 2、对象的两个标准头信息是什么?分别有什么用 计数器,类型标识符 计数器:判断对象是否已经回收 类型标识符:标明对象类型 3、简述一下对象的回收机制 通过计数器实现:当一个对象的引用原创 2016-11-23 21:05:43 · 452 阅读 · 0 评论 -
flask用户关注功能的实现
从用户到程序: 1,用户点击关注 2,请求传给视图函数, 3,视图函数调用数据库模型 4,数据库建立此用户与被关注用户的关系 难点: 1,于理解数据库多对多的关系 书中的思路是创建关联表,化解为两个一对多的关系来解决,关联表包含两列,都是关联自users.id,每一行对应一对关注者与被关注者。 2,创建获取关注者与被关注着列表的方法 上述问题解决之后,这个问题就迎刃原创 2016-11-14 22:32:15 · 1109 阅读 · 0 评论 -
flask-Bootstrap
最简单用法:.../work/run.pyfrom flask import Flask,render_templatefrom flask_bootstrap import Bootstrapapp = Flask(__name__)bootstrap = Bootstrap(app)@app.route('/')def index(): return render_template原创 2016-11-02 15:07:31 · 841 阅读 · 0 评论 -
Flask-Blueprint
blueprint把不同功能的module分开。可以让应用模块化,针对大型应用。 蓝图的基本概念:在蓝图被注册到应用之后,所要执行的操作的集合。当分配请求时, Flask 会把蓝图和视图函数关联起来,并生成两个端点之前的 URL 。 比如只有一个run.py。有些功能需要多人分开来写,有些功能会有交错的可能,代码位置也不会在一起,这样可以用蓝图来开关一些模块(功能)和宏定义类似,但不是可插拔原创 2016-11-02 12:28:10 · 979 阅读 · 0 评论 -
flask权限管理功能的实现
权限管理功能的实现可以分为以下几个小块: 1,新建数据库表Role,里面包括id(Integer,主键)name(String),permission(Integer),default(boolean)。users是指向User模型的对外关系,反向赋给User模型一个role属性,这样就可以同郭User.role来访问Role模型,这样就创建了数据库之间的关系。模型里面还定义了一个静态方法(@st原创 2016-11-07 23:45:22 · 9477 阅读 · 0 评论 -
flask重置邮箱功能的实现
和重置密码大同小异。 用户操作: 1,登录状态下获取重置邮箱的表单 2,提交表单,包含密码,新邮箱 3,接受重置邮件,并点击验证 程序执行: 1,发送给用户表单 2,接受密码,新邮箱,先验证密码是否正确,再生成token,渲染邮件内容,给邮箱发送链接 3,接受用户GET请求并将token的值进行验证,若与在线用户ID相同则修改数据库里的邮箱原创 2016-11-06 19:51:08 · 900 阅读 · 0 评论 -
flask重置密码功能的实现
用户操作: 1,获取重置密码的页面 2,发送要重置密码的邮箱 3,接受邮件并打开重置密码的页面 4,填写密码并提交 应用程序执行过程: 1,返回给用户重置密码的表单 2,接受用户所填邮箱 3,验证邮箱是否存在 4,生成验证链接(token的值) 5,发送重置邮件 6,接受用户GET请求并对token的值进行解码,验证是否与前面所填邮箱ID相同 7,接受用户POST请求,含新密原创 2016-11-06 19:44:24 · 4615 阅读 · 2 评论 -
flask修改密码功能的实现
用户操作过程: 1,向服务器发送GET请求获取修改密码的表单(在forms.py中实现) 2,向服务器发送POST请求,含原始密码,新密码 3,修改成功,跳转到main.index,或者失败弹出失败信息 应用程序执行过程: 1,返回用户表单,表单被抽象成python的一个类: form.py class ChangePasswordForm(Form): old_pass原创 2016-11-06 19:25:14 · 5768 阅读 · 1 评论 -
flask注册之后邮箱确认功能的实现
搞了半天终于可以正常运行了,但是还是感觉一团浆糊,总结一下,用户端要完成的操作是这样的: 1,注册(这时候数据库已经有用户的账户密码了,但是User.confirmed=False,这时是无法正常登陆的) 2,点开Email验证地址之前登陆(作者构建了一个中间状态路由,当用户注册之后但未确认时登陆就会被重定向到这个路由,这时APP保存了用户的登录状态(但是没有正常权限),之后再点击邮箱里的验证链原创 2016-11-05 23:13:23 · 4603 阅读 · 2 评论 -
flask-web开发中登录和注册功能的实现
目录如下: my_flasky│ config.py│ config.pyc│ data-dev.sqlite│ manage.py│└─app │ models.py │ models.pyc │ __init__.py │ __init__.pyc │ ├─auth │ forms.py │原创 2016-11-04 19:47:53 · 6023 阅读 · 0 评论 -
flask sqlalchemy(二)
引入一对多的数据库关系类型,以Flask-web开发中的示例为例:#encoding:utf8import osfrom flask import Flaskfrom flask_sqlalchemy import SQLAlchemybasedir = os.path.abspath(os.path.dirname(__file__))app = Flask(__name__)db =原创 2016-11-03 12:37:20 · 652 阅读 · 0 评论 -
python中函数的默认参数为list时出现异常分析
遇到一个奇怪的现象:'''pythondef f(x,l=[]): for i in range(x): l.append(i*i) print lf(2)f(3,[3,2,1])f(3)'''讲道理来说输出应该是'''python [0,1] [3,2,1,0,1,4] [0,1,4]'''可是发现python不讲道理了'''p原创 2016-11-25 21:55:08 · 1093 阅读 · 1 评论