Python
文章平均质量分 60
bestallen
Beyond Yesterday
展开
-
Flask Web 开发 Jinja2 macro 信息
转载一个官方文档再转载一个前辈写的http://jinja.pocoo.org/docs/dev/templates/http://www.ttlsa.com/python/flask-jinja2-template-engine-block-and-macro/转载 2016-09-09 15:20:48 · 1155 阅读 · 0 评论 -
Flask Web 开发 用户认证_4
这个篇章内容比较多,继续上一篇章节登录功能做完以后,终于可以来做新用户注册的功能了首先修改的是auth/forms.py如下from flask.ext.wtf import Formfrom wtforms import StringField,PasswordField,BooleanField,SubmitFieldfrom wtforms.validators impo原创 2016-08-23 21:15:26 · 1148 阅读 · 0 评论 -
Flask Web 开发 博客文章_5
这章节有点像用户认证那章节,知识点比较密集,终于最后一环节了前面已经有了文章的固定url,那有时候用户或者管理员需要编辑文章,该怎么做呢?前端的显示上面,肯定是有一个edit按钮的,后台也肯定需要一个特定的页面以供修改首先先来编辑前端的显示吧,一般都是点编辑按钮以后,进入可以重新修改文章的页面,也没什么特别的,关键是输入文本框所以新建一个edit_post.html原创 2016-09-15 11:51:10 · 1146 阅读 · 0 评论 -
Flask Web 开发 用户资料_3
继续上一章节,上一章节讲的是用户编辑自己页面的内容,内容也是相对简单,真实姓名,来自哪里,自我介绍的信息,而email和用户名什么的,你自己也没地方改,因为在注册的时候就登记了。但是作为网站管理者,你肯定需要拥有权限可以修改用户的资料,甚至说是为他们修改email的地址,或者是用户名,还有权限别看只是多做一个修改他人用户信息的表单,这个章节里面有几个知识点需要特别注意进入正题,原创 2016-09-02 14:20:12 · 2978 阅读 · 3 评论 -
Flask Web 开发 邮件功能
卧了个槽,这个功能,就因为基础知识的大坑,花了我整整2天才解决........我们先来看文章主要内容:这里讲一下SMTP和POP还有IMAP功能这个主要达到的功能就是:可以通过非官方的客户端,来访问邮箱收发邮件比如:我用邮箱大师这个软件,可以绑定某个126邮箱,来进行收发邮件而POP和IMAP的区别在于,POP的操作,不会同步到服务器上,也就是不原创 2016-08-14 12:50:26 · 4402 阅读 · 7 评论 -
Codewars 9月刷题
专门开个类别,用来记录刷题中碰到的新鲜事,题目单位太小了,所以一个月为一篇,目前题目都是codewars上面的,后面可能会挑战leetcode上第1题:自己的答案:def series_sum(n): sum = 0 for i in range(0,n): sum += 1/(1+3*i) return '%.2f'%sum看到其他筒子的最佳答案原创 2016-09-10 00:19:41 · 2718 阅读 · 1 评论 -
Flask Web 开发 用户资料_4
进入第10章节最后一环节了,也是对于博客或者网站来说比较重要的一环,头像功能。上过stackoverflow或者github的都知道,他们的默认头像,都是类似与大块像素一样的默认头像,其实,这个是通过一个叫做gravatar的全球统一头像服务网站进行设置的你在这个网站上可以通过将email和头像绑定,以后,只要在支持gravatar功能的网站上使用这个email注册账号,那么,头像就自动变原创 2016-09-04 23:45:50 · 1219 阅读 · 1 评论 -
Flask Web 开发 用户认证_5
用户认证章节真够长的,不过涉及到的内容确实多,继续上一章节这部分讲到的是新用户注册以后,需要在邮箱里面点击链接进行确认,这个在我们平时网站注册新用户的时候,经常会碰到确认邮件中最简单的确认链接是http://www.example.com/auth/confirm/ 这种形式的URL,其中id 是数据库分配给用户的数字id。用户点击链接后,处理这个路由的视图函数就将收到的用户i原创 2016-08-25 22:34:36 · 3604 阅读 · 14 评论 -
Flask Web 开发 发送异步邮件
继续上一章节的内容,当你点击submit的同时,他会发一封邮件给管理员但是,他会有短时间几秒钟的无响应,如何避免这样的情况呢?那就要用到异步邮件实际上就是交由后来发送这个邮件,算到其他线程里面代码改动如下先导入Thread模块from threading import Thread然后这里踩了个坑啊,上一章节里面的send_email函数里面最后一句ma原创 2016-08-14 16:20:37 · 2567 阅读 · 0 评论 -
SQLalchemy 转载学习(学习了中间relationship内部cascade参数的部分)
关于relationship里面cascade参数,一直没理解看了这篇文章,有些感觉了转载一下这位前辈的文章http://www.cnblogs.com/booolee/archive/2009/08/26/1554525.html自打接触了python,就被深深的吸引,首先是它频繁出现在我工作使用的著名GIS软件中,一次为了给一个GIS软件写点脚本转载 2016-09-18 14:41:56 · 4217 阅读 · 0 评论 -
Flask Web 开发 博客文章
进入新的一章节了又是一个比较大的功能,写博客class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer,primary_key = True) body = db.Column(db.Text) #文章内容 timestamp = db.Column(db.原创 2016-09-05 18:27:22 · 1320 阅读 · 0 评论 -
Flask Web 开发 博客文章_4
这章节好难......要吐了....好几个知识点没弄明白,用法基本了解了,作用机制甚至参数调用规则还不是很理解只能先写笔记了上过stackoverflow或者segmentfault的时候,看到你在发表文章或者回答答案的时候,输入的同时,下面会有同步生成的效果这样的预览框,实际上是支持MarkDown语法的,啥叫Markdown语法百度了下,基本上就是用很简单的符号,生成文本效原创 2016-09-13 15:33:48 · 1947 阅读 · 2 评论 -
Flask Web 开发 用户资料_2
继续上一篇章有了用户资料的页面,那总归要可以编辑吧,那编辑就涉及到通过表单来提交所以,我们又要来新建一个Form了main/forms.pyfrom flask.ext.wtf import Formfrom wtforms import StringField,SubmitField,TextAreaFieldfrom wtforms.validators import Re原创 2016-09-01 23:12:18 · 967 阅读 · 0 评论 -
Flask Web 开发 数据库
这个以sqlite开头的路径,是一个指向数据库文件的地址from flask.ext.sqlalchemy import SQLAlchemybasedir = os.path.abspath(os.path.dirname(__file__))app = Flask(__name__)app.config['SQLALCHEMY_DATABAS原创 2016-08-08 15:44:02 · 1955 阅读 · 0 评论 -
Flask Web 开发 GET POST两种请求及重定向
简单讲一下基础概念比如在web表单的开发过程中一个url针对的是一个web表单页面,那么,第一次访问应用时,他使用的是get请求!!只有当用户填完表单并符合要求提交时候,才是POST请求这个非常重要!!如下图,如果第一次访问程序,他用的是GET请求但是如果我们用的是提交表单,他则用的是POST,如下图可是,如果我们用的是重定向的话!!原创 2016-08-09 14:40:39 · 14717 阅读 · 2 评论 -
Python 装饰器详解
装饰器的文章前前后后看了10多篇,感觉都讲得有点深奥.....不过这一篇,由浅入深,浅显易懂.........含泪转载分享...........讲台好了http://www.jb51.net/article/59867.htm转载 2016-08-31 11:19:57 · 626 阅读 · 0 评论 -
Flask Web 开发 博客文章_3
继续上一篇章,分页显示的问题上一章节讲的是生成了虚拟的用户和文章这里继续讲分页这里需要修改app/main/views.py函数@main.route('/',methods=['GET','POST'])def index(): form = PostForm() if current_user.can(Permission.WRITE_ARTICLES) and原创 2016-09-11 16:27:06 · 3172 阅读 · 2 评论 -
Flask Web 开发 数据库迁移
看了头晕死了,又是补数据库知识,又是补前面看太快而漏掉的知识点比如:应用上下文,请求上下文,HTTP消息结构,后面再慢慢补吧,太大的窟窿了。然后讲到数据库迁移,对这样的功能不是很明白,完全可以靠数据库命令来操作修改的,为啥要用脚本来做迁移呢?后来想想可能是统一化而且方便快捷吧。from flask.ext.migrate import Migrate, MigrateC原创 2016-08-09 22:05:54 · 2490 阅读 · 0 评论 -
Flask Web 开发 用户认证
进入第二部分了,估计会很难,第一部分还有好多点的原理没搞清楚,不过先做起来吧。用户认证其实说简单点就是用户名和密码是否匹配的过程。下面这段书里面的文档,应该说说的比较详细,就直接复制了设计Web 程序时,人们往往会高估数据库中用户信息的安全性。如果攻击者入侵服务器获取了数据库,用户的安全就处在风险之中,这个风险比你想象的要大。众所周知,大多数用户都在不同的网站中使用相同的密码,原创 2016-08-21 10:12:58 · 3291 阅读 · 0 评论 -
Flask Web 开发 用户认证_2
下面讲到Flask-Login 这个扩展要用到这个扩展,就要在模型文件里面添加一些内容了app/models.py:修改User 模型,支持用户登录from flask.ext.login import UserMixinclass User(UserMixin, db.Model):__tablename__ = 'users'id = db.Co原创 2016-08-21 20:33:00 · 2221 阅读 · 0 评论 -
Flask Web 开发 用户角色
进入第九章,内容就3小节,不过需要补的东西还挺多的class Role(db.Model): __tablename__='roles' id=db.Column(db.Integer,primary_key=True) name=db.Column(db.String(64),unique=True) default = db.Column(db.Boolean,default=F原创 2016-08-31 14:38:01 · 4369 阅读 · 0 评论 -
Flask Web 开发 用户认证_3
继续上一篇提交表单后,你需要让程序将登录用户的信息保持住所以,用到了login_user功能login_user会把在用户会话中把用户标记为已登录,而第二个参数则是勾选是否保持登录状态,如果不勾选,则关闭浏览器后登录状态丢失提交登录密令的POST 请求最后也做了重定向,不过目标URL 有两种可能。用户访问未授权的URL 时会显示登录表单,Flask-Login会把原地址保存原创 2016-08-22 19:13:23 · 1183 阅读 · 1 评论 -
Flask Web 开发 用户资料
进入第10章了,看到群里其他筒子已经完成在服务器上的部署并上线了,好生羡慕。这一章节的内容是讲用户资料的,比如我们平时注册一个网站以后,总有一个页面是让我们修改自我介绍,城市,还能显示注册时间,最后一次登录等信息既然讲到以上这些,那我们肯定要在模型里面多加一些信息了如下class User(UserMixin,db.Model):#... name原创 2016-09-01 14:51:07 · 1417 阅读 · 0 评论 -
Flask Web 开发 番外篇_关于扩展引入的坑
坑之描述:根据书本做到了发表博客这一步了,不过突然之间发现了一个问题,就是在主页的时候,右上角的account菜单无法使用但是在其他页面,比如user页面,功能却能够打开,一开始我觉得导航条是做在base.html里面的,肯定和base.html有关系,所以有点钻到牛角尖里面去了后来经过其他筒子的帮忙才发现,原来我主页调用的index.html里面,{% block scripts %原创 2016-09-06 22:26:41 · 2565 阅读 · 0 评论 -
Flask Web 开发 测试
国庆节沦陷在RESTFUL API这个章节里了。。。横竖没看懂后来请教了其他筒子关于REST API的概念,少许有些理解,就是主要集中在资源的获取上,同样的资源格式,比如JSON,可以提供给不同的终端使用。打个比方,知乎的网页版,和APP版,虽然显示的方式截然不同,但是,他获取的资源是一毛一样的。就不多说了。。。先继续往下看测试这章吧先前在其他前辈的技术文章里就看到过测试覆原创 2016-10-09 10:58:34 · 2470 阅读 · 1 评论 -
Flask Web 开发 关注者
学到这一章,感觉有点回到第8章的味道......有几个坑还是后期需要静下心来补的对于模型间的关系,准备另外单独拎出来写一篇测试文章,这里留个位置给链接吧## 留位置给番外篇#上图是一个自引用的关系图,就用于像关注和被关注这样,关联表两边只有一个实体(用户)的情况的。本例的关联表是follows,其中每一行都表示一个用户关注了另一个用户。图中左边表示的一对原创 2016-09-20 15:47:59 · 3112 阅读 · 1 评论 -
Python 浅拷贝 深拷贝 及引用机制
这礼拜碰到一些问题,然后意识到基础知识一段时间没巩固的话,还是有遗忘的部分,还是需要温习,这里做份笔记,记录一下前续先简单描述下碰到的题目,要求是写出2个print的结果可以看到,a指向了一个列表list对象,在python中,这样的赋值语句,其实内部含义是指a指向这个list所在内存地址,可以看作类似指针的概念。而b,注意,他是把a对象包裹进一个lis原创 2016-12-11 23:28:15 · 2837 阅读 · 1 评论 -
Python Flask 天气查询
一直觉得自己的博客太简单了,今天想加点功能上去,说干就干,准备加个最常用的,天气预报功能。看了几个例子,觉得也不是很难,网上找个接口就是了,不过,这百度的apistore里面。。。死活不让我获取手机验证码,所以转向JUHE里面去,还送500次的免费次数,绝对够用了进入正题首先,这个功能的主旨是:通过其他网站提供的api接口取回数据,一般是JSON格式的,然后自己渲染在前原创 2016-12-06 22:34:06 · 7498 阅读 · 3 评论 -
Leetcode21: Merge Two Sorted Lists
还是和链表有关的问题,和第二题比较像,代码如下# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object):原创 2016-11-26 21:49:18 · 428 阅读 · 0 评论 -
Leetcode20: Valid Parentheses
这题的答题思路基本是对了,用字典来解决,不过,还是没有对stack的应用太熟悉,还需练习。class Solution(object): def isValid(self, s): """ :type s: str :rtype: bool """ if len(s)%2 !=0:原创 2016-11-26 23:36:45 · 549 阅读 · 0 评论 -
Leetcode
这里作为一个索引和目录用,连接到自己的答题页Leetcode 3:Longest Substring Without Repeating CharactersLeetcode 3: 答题页原创 2016-11-03 23:41:46 · 594 阅读 · 0 评论 -
Python 生成器及高阶函数 filter map reduce
讲到生成器,往前可以讲到列表生成式,往后可以讲到迭代器今天就复习一下生成器,再另外多复习一下高阶函数如何定义一个生成器方法1:首先,像列表生成式,我们用得很普遍了如 L=[x for x in range(1,5)]这样生成的结果就是[1,2,3,4]那生成器是什么呢?他其实是一个对象,并不是一个具体的序列形式比如,我们把列表生成式的外壳[ ] 改成原创 2016-12-18 18:15:29 · 1597 阅读 · 0 评论 -
Python 装饰器归纳总结
实际应用中装饰器没少用,像flask的路由功能,都是用装饰器来挂上去的,不过平时装饰器都是看的网上的文章然后在用,自己没总结过这次单独写一篇笔记,加深印象先简单讲一下我理解的装饰器的两大特点1:在不用修改原本函数的情况下,对原来函数的输出结果进行添加功能2:装饰器是一个高阶函数,他的返回值,是一个函数普通函数首先来看个普通函数def current_ti原创 2016-12-25 13:24:59 · 951 阅读 · 0 评论 -
Python Flask Restful API 基础篇
目前Web应用这块,restufl API用得非常普遍,因为,你手上的前端设备五花八门,各种系统的手机,pad等等,而且网站和手机APP经常会有需要资源共享的时候。如果网站做个app,手机端再独立一个app,要保持2者同步,估计做开发的要做死了。所以,RESTFUL API提出了一个概念,就是资源为上,通俗地讲:就是,我有一个资源A,可以作为接口来提供出来,那么,前端设备的B,C,原创 2016-12-20 23:14:13 · 18812 阅读 · 4 评论 -
网站改造 Python Flask Javascript 的搭配使用
网站好久没更新了,最近在考虑一些前后端交互方面的问题,首先感觉如果单纯用Flask搭配Bootstrap的话,前段和后端的联系过于紧耦合了,前端部分得不到很好的锻炼。所以想着自己开设一个子版块,通过手动写JS脚本,来实现几个目标1:菜单导航栏的实现2:在不切换页面的情况下实现内容的刷新3:前段向后端取数据其实第2,3部分就和ajax有关了。尤其是第3部分,还要涉及到后端原创 2017-02-03 14:39:42 · 12539 阅读 · 0 评论 -
转载两篇关于WSGI的文章
昨天想着把Flask功能实现的原理看一下,不过参照了几篇文章,包括廖雪峰老师的文章,看了源码,还是没有能力理顺。今天又从头开始理,准备先把WSGI这部分搞懂,晚上找到两篇好文章,看了以后决定还是先不写笔记了,应该暂时还写不出如此条理清晰的笔记,先读懂理解文章吧。http://blog.csdn.net/on_1y/article/details/18803563http转载 2016-12-10 23:45:39 · 704 阅读 · 0 评论 -
Leetcode2: Add Two Numbers
这道题的难度是简单,说也简单,但也不简单说不简单是因为,我为了这个审题的事儿,磨蹭了大半天说简单是因为,审题审清楚了以后,写写也没多久来看题目,他用一个链表的结构,来代表2个非负数,而非负数是链表中结点的数据元素,不过他是倒序的,也就是头结点是3和4然后对应位数两两相加,输出一个也是链表类型的结果接下来说觉得不简单的地方,因为,python里面是没有链表原创 2016-11-17 22:39:23 · 730 阅读 · 0 评论 -
SQLalchemy relationship之lazy属性 学习笔记
relationship里面的lazy属性看得头昏脑涨,还是自己来动手弄点数据熟悉一下模型还是建立在目前在看的Flask Web这本书上面的数据库,方便测试第一步,建立一对多关系的测试,class是一这一端,对应student是多那一端,意思是,同一个课程,可以有很多学生选这门课class Student(db.Model): __tablename__ = '原创 2016-09-21 00:01:27 · 13404 阅读 · 5 评论 -
Flask 上传自定义头像
Flask Web 开发这本书基本上做完了,后面还需要温习,但是自己做的博客总觉得简陋了点,所以,在动脑子开发新功能今天想到最基本的功能,自定义头像那这样的功能,设计到2大基本功能块1:如何进行文件的上传和保存2:如何在用户模型里面将头像照片和用户挂钩起来第二个问题我在查阅了网上的讨论后,得出基本上2种方法,第一种是将图片变成二进制以后存入数据库第二种是将图片直原创 2016-10-22 09:26:07 · 8788 阅读 · 3 评论 -
Flask 上传自定义头像_1 使用Flask Uploads
前一篇使用了flask里面的基本功能实现了上传文件他基本上用的都是python本身的功能,另外加了一个flask里面的request封装有点自己造了半个轮子的感觉后来在Flask官方文档里面,又看到了提及有一个简单的方法可以进行上传就是用Flask Uploads,其实说白了就是对上一篇造的轮子的再封装话不多,先配置环境,还是需要下载的python这种等同于原创 2016-10-22 14:58:59 · 4774 阅读 · 5 评论