
-----flask
文章平均质量分 67
GeekLeee
这个作者很懒,什么都没留下…
展开
-
简单的Flask工作流程
按照题目要求,敲了代码,但是对于init,views和run里面的代码内容,不理解 尤其是from flask import Flask和from app import app,这2个概念,没理解 后来自己询问了别人和做了测试,知道了,flask是包,Flask是类,类是可以直接被索引进行import的! 然后第二句里面第一个app是包,第二个app是init里面创建的实例 我后来把app改原创 2016-09-11 15:56:46 · 2024 阅读 · 0 评论 -
大型程序的结构(二)【配置选项config.py】
程序经常需要配置多个配置,如开发,测试和生产环境使用不同的数据库。 不在使用hello.py的简单的字典状结构配置,而使用层次结构的配置类。 config.py:程序的配置import osbasedir = os.path.abspath(os.path.dirname(__file__))###得到程序根目录的位置(去掉最底层文件名)###基类Config包含通用配置,子类分别定义专用原创 2016-09-22 16:59:08 · 2478 阅读 · 0 评论 -
大型程序的结构(三)【程序包】重点!!!
程序包用来保存程序的所有代码,模板和静态文件。 这个包直接称为app(应用),也可使用一个程序专用的名字。 templates和static文件夹是程序包的一部分,因此两个文件夹被移到app文件夹中。 数据库模型和电子邮件支持函数也被移到了这个包中,分别保存为app/models.py和app/email.py。使用程序工厂函数课外资料Flask 扩展开发 自定义的flask扩展flask_原创 2016-09-22 21:45:24 · 2229 阅读 · 0 评论 -
电子邮件(一)
在Python shell中发送电子邮件的hello.py代码import osfrom flask import Flask, render_template, session, redirect, url_forfrom flask_script import Manager, Shellfrom flask_bootstrap import Bootstrapfrom flask_mo原创 2016-09-20 15:22:12 · 6328 阅读 · 1 评论 -
大型程序的结构(四)
启动文件flasky/manage.py 顶级文件夹中的manage.py文件用于启动程序。#!/usr/bin/env pythonimport osfrom app import create_app, dbfrom app.models import User, Rolefrom flask_script import Manager, Shellfrom flask_migrat原创 2016-09-23 23:36:54 · 1411 阅读 · 0 评论 -
用户认证(一)
Flask的认证扩展密码安全性为了保证数据库用户密码的安全,数据库不储存密码本身,而要储存密码的散列值。使用Werkzeug实现密码散列Werkzeug的security可以实现密码散列值的计算。 在User模型中加入密码散列的功能from werkzeug.security import generate_password_hash, check_password_hash###从Werk原创 2016-09-24 16:55:09 · 2733 阅读 · 1 评论 -
用户认证(二)【使用Flask-Login认证用户】
Flask-Login扩展,记住认证状态,管理用户认证系统中的认证状态 pip install flask-login准备用于登录的用户模型 flasky/app/models.pyfrom werkzeug.security import generate_password_hash, check_password_hashfrom flask_login import Us原创 2016-09-24 17:09:58 · 19038 阅读 · 0 评论 -
电子邮件(三)【异步与多线程】
书外资料Flask-Mail扩展的基本使用Python 多线程Python多线程thread与threading实现Python模块学习:threading 多线程控制和处理异步发送邮件这里通过线程的方式来实现邮件发送,主进程继续完成页面的输出的。从而达到异步的效果。from threading import Threaddef send_async_email(app, msg): wit原创 2016-09-21 18:34:03 · 3323 阅读 · 0 评论 -
关于实例变量的一点理解
深入变成python基本知识,浅出比喻成生活的东西。原创 2016-09-21 19:13:22 · 647 阅读 · 0 评论 -
电子邮件(二)
书外资料flask-mail中文文档 配置 Flask-Mail 发送邮件 大量邮件 附件 单元测试以及禁止发送邮件发送邮件 为了能够发送邮件,首先需要创建一个 Message 实例:from flask_mail import Message@app.route("/")def index(): msg = Message("Hello",原创 2016-09-21 11:11:30 · 6947 阅读 · 2 评论 -
大型程序的结构(一)
##结构图如下 研究要点: 各个模块块引入和运行流程。原创 2016-09-22 11:11:02 · 1166 阅读 · 0 评论 -
用户认证(三)【注册新用户】
添加用户注册表单flasky/app/auth/forms.pyfrom flask_wtf import Formfrom wtforms import StringField, PasswordField, BooleanField, SubmitFieldfrom wtforms.validators import Required, Length, Email, Regexp, Equa原创 2016-09-25 18:41:38 · 1530 阅读 · 0 评论 -
用户认证(四)【确认账户】
使用itsdangerous生成确认令牌数据库分配的id,用dump转化成令牌字符串,发送带有token的链接的邮件,点击这个链接,执行带token的确认路由,在视图函数中使用user的自定义方法解析loads的id来对照用户的id,如果一样,更改用户的属性。 C:\Users\Geek Lee\Geek-Lee.github.io>venv\Scripts\activate(venv) C:\Us原创 2016-09-27 17:32:28 · 4412 阅读 · 1 评论 -
前端驱动学习和编码工作心得
首先用户根据链接,打开官网。 浏览器发送请求,服务器返回请求。 这之间发生了,每次首先经过路由。首先,点击页面链接发送请求,经由路由返回渲染后的模板,显示页面其次,再点击页面链接发送请求,经由路由返回渲染后的模板,显示页面路由为中心,前端为起点驱动工作方法。路由为中心:路由为控制中心 1.他从templates拿来模板 2.从models拿来模型和自带的处理方法,通过处理模型得到数据库中的具原创 2016-09-28 09:52:37 · 1002 阅读 · 0 评论 -
用户认证(五)【管理账户】修改密码
修改密码 登录状态显示修改密码的下拉菜单>>>点击进入修改密码的表单>>>提交替换密码给数据库 修改密码入口页面 flasky/app/templates/base.html{% extends "bootstrap/base.html" %}{% block title %}Flasky{% endblock %}{% block head %}{{ super() }}<link re原创 2016-09-28 09:18:55 · 3639 阅读 · 0 评论 -
用户认证(六)【管理账户】重设密码
重设密码给User模型增加方法【类似于确认账户的办法】flasky/app/models.pyfrom werkzeug.security import generate_password_hash, check_password_hashfrom itsdangerous import TimedJSONWebSignatureSerializer as Serializerfrom flas原创 2016-09-28 18:52:10 · 5625 阅读 · 1 评论 -
用户认证(七)【管理账户】修改电子邮件
修改电子邮件原创 2016-09-28 18:58:41 · 824 阅读 · 1 评论 -
部署Heoku
部署过程Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Geek Lee>heroku loginheroku-cli: Installing CLI... 2.59MB/18.54MBError: An existing connection was forcibly clo原创 2016-09-07 11:39:59 · 910 阅读 · 0 评论 -
API(应用编程接口或web服务)概念问题
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 flask web开发第十四章应用编程接口 通俗说:为了方便不同的前端设备于同一个后端进行通信,只要把API写好,后端只负责吐数据,逻辑和展现都写在客户端。 json原创 2016-09-07 11:29:55 · 1167 阅读 · 0 评论 -
前端Scripts模块问题
base.html 代码如下:{% extends "bootstrap/base.html" %}{% block title %}Flasky{% endblock %}{% block head %}{{ super() }}<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" t原创 2016-09-07 10:32:43 · 982 阅读 · 0 评论 -
深度理解Python import 功能
本来以为已经理解了import功能,没想到实际应用了还有这么多门道 比如,不通过模块名字,直接引入模块内的类 我们创建一个包叫ccc,然后下面的init里面什么也没写,都是空的 然后bbb.by里面的内容是:def a(): print (1)如果你要访问这个函数a 首先第一点,一个写法: from ccc.bbb import a ,注意,他只能通过 包名.模块名来impor原创 2016-09-11 18:34:50 · 4192 阅读 · 0 评论 -
Flask中render_template的使用和模板的继承
ee原创 2016-09-11 19:24:09 · 32705 阅读 · 1 评论 -
在基模板中放置favicon.ico图标
{% extends "bootstrap/base.html" %}{% block title %}Flasky{% endblock %}################################################################{% block head %}{{ super() }}<link rel="shortcut icon" href="原创 2016-09-15 19:03:26 · 1386 阅读 · 0 评论 -
浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,原创 2016-09-15 20:26:47 · 455 阅读 · 0 评论 -
flask-bootstrap/base.html研究以及使用
首先了解一下bootstrap提供了多少block,bootstrap中的base.html如下:{% block doc -%} ###doc:整个HTML文档(开始)<!DOCTYPE html> <html{% block html_attribs %}{% endblock html_attribs %}>###html_attribs:<html>标签的属性原创 2016-09-15 19:22:41 · 13461 阅读 · 2 评论 -
flask-bootstrap不同于单独使用bootstrap的地方
问题:BOOTSTRAP 如何使用 在这个网站我学到了怎么单独使用bootstrap 步骤 1 : 因为bootstrap用到了html5的特性,为了正常使用,需要在最开头加上 <!DOCTYPE html>步骤 2 : 导入js 导入css 接着导入js和css Bootstrap需要JQuery才能正常工作,所以需要导入jquery.mini.js 接着是 Bootstrap的css原创 2016-09-16 12:42:02 · 5582 阅读 · 1 评论 -
flask-bootstrap里面添加新内容的技巧
{% extends "bootstrap/base.html" %}{% block title %}GeekLee{% endblock %}{% block head %}{{ super() }}<link rel="shortcut icon" href="{{ url_for('static', filename = "favicon.ico") }}" type="image/x-原创 2016-09-17 22:30:17 · 1772 阅读 · 0 评论 -
参数传导与模块引入(重点)【flask web 1-32页】
(venv)pip install flaskflask,Flask,appfrom flask import Flaskapp = Flask(__name__)从flask引入Flask类,创建一个叫app的程序实例,所有接受自客户端的请求都交给这个app程序实例(Flask类的对象)处理。Flask也用这个参数(app)决定了程序的根目录,以便能找相对于根目录的资源文件位置。 reques原创 2016-09-17 11:15:19 · 871 阅读 · 0 评论 -
Web表单(一)
尽管request.form能获取POST请求中的提交的表单数据,也就是说Flask的请求对象提供的信息足够用于处理web表单,但是任务单调,比如生成表单的HTML代码和验证提交的表单数据等等。 这时候Flask-WTF应运而生,Flask-WTF及其依赖安装: pip install flask-wtf(venv) C:\Users\Geek Lee\Geek-Lee.github.io>pi原创 2016-09-18 10:57:49 · 691 阅读 · 0 评论 -
Web表单(二)
**重定向和用户会话**用户输入名字后提交名字后提交表单,然后点击浏览器的刷新按钮,会看到一个莫名其妙的警告,要求再次提交表单之前进行确认。 POST请求放在最后,浏览器会询问用不用把之前的数据在提交一遍了。我们尽量不把POST请求放在最后,使用重定向和用户会话储存之前数据的方式。这个技巧叫做Post/重定向/Get模式。from flask import Flask, render_te原创 2016-09-18 14:46:50 · 780 阅读 · 0 评论 -
使用HTTPie测试Web服务
flask web 开发 P1681.问题(venv) C:\Users\Geek Lee\flasky>http --json --auth 123456789@qq.com:password GET \http: error: ConnectionError: HTTPConnectionPool(host='%5C', port=80): Max retries e...原创 2018-04-26 22:06:16 · 3234 阅读 · 1 评论 -
数据库(一)
数据库分为SQL数据库(关系模型数据库)和NoSQL数据库(非关系模型数据库,主要为文档数据库和键值对数据库。) SQL数据库高效紧凑的形式储存结构化数据,但花费精力在数据的一致性上。NOSQL数据库不紧凑,但数据重复可以提升查询速度。 Flask不限制你使用何种数据库包,如MySQL,Postgres,SQLite,Redis,MongoDB,CouchDB等。 数据库抽象层代码包,如SQ原创 2016-09-19 13:36:08 · 817 阅读 · 0 评论 -
数据库(二)操作数据库
在shell中操作数据库C:\Users\Geek Lee\Geek-Lee.github.io>venv\Scripts\activate(venv) C:\Users\Geek Lee\Geek-Lee.github.io>python hello.py shell#进入shell中C:\Users\GEEKLE~1\GEEK-L~1.IO\venv\lib\site-packages\fl原创 2016-09-19 18:11:03 · 1056 阅读 · 1 评论 -
@staticmethod和@classmethod的用法
一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类名.方法名()来调用,那他们有什么区别呢 从它们的使用上来看,@原创 2016-09-22 17:22:20 · 13563 阅读 · 3 评论 -
数据库(三)为Python shell添加新的功能和使用Flask-Migrate实现数据库迁移
为Python shell添加新的功能每次启动shell会话都得导入数据库实例和模型,我可以让Flask-Scripts的shell命令自动导入特定的对象使用Flask-Migrate实现数据库迁移原创 2016-09-19 19:11:43 · 2934 阅读 · 1 评论 -
flask程序部署到heroku平台的过程
一.准备app及开发环境(若已经准备好可以跳过直接到后面的部署,下面我以原书作者源代码为示例) 1.在github上新建一个仓库(假设为myapp),然后克隆到本地(不要照抄下面的代码,只是个实例,根据自己情况更改) $ git clone https://github.com/user/myapp.git 2.把作者的源码克隆到本地 $ git clone https://github.原创 2016-09-08 22:55:50 · 4225 阅读 · 0 评论