
python web
yz764127031
一枚渣渣
展开
-
flask实践:猜数字
作者:李辉 链接:https://zhuanlan.zhihu.com/p/23340992 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Demo体验:猜数字 - Flask难度:1使用扩展:Flask-Bootstrap、Flask-WTF每个学编程的人大概都写过猜数字游戏,今天我们用Flask来做一个Web版本的猜数字。功能很简单,只有两个路由,三个模板转载 2017-02-08 15:18:37 · 679 阅读 · 0 评论 -
werkzeug实现简单Python web框架(5):扩展思路
通过前面三篇我们已经实现了一个简单的MVC结构的Python web框架,但是这个web框架还有很多不完善,可以进很多不同的扩展。(1)session支持 http是无状态的协议,但是我们可以用session来维持用户的状态(2)http协议相关的扩展 比如重定向,支持上传下载文件(3)如何支持返回json数据(4)添加异常处理(5)也可以继续完善orm实现的方法(6)路由方面:动态路由,正则匹原创 2017-09-04 12:02:38 · 780 阅读 · 0 评论 -
werkzeug实现简单Python web框架(1):MVC模式
Werkzeug是Python的WSGI规范的实用函数库。使用广泛,基于BSD协议。 Flask底层就是使用了Werkzeug。关键点: add_url_rule方法调用,导致视图类通过调用类方法,返回一个闭包,闭包返回一个视图函数,于是建立了url与视图函数的映射关系。代码from werkzeug.wrappers import BaseRequest, BaseResponsefrom原创 2017-09-04 00:22:20 · 3263 阅读 · 1 评论 -
flask + redis 实现Server-Sent Event demo
学习要点: (1)web即时通讯 Web 即时通信,就是说我们可以通过一种机制在网页上立即通知用户一件事情的发生,是不需要用户刷新网页的。 常用的有Polling,Long-Polling,Server Send Event,WebSocket Server Send Event协议: HTTP 的头部Content-Type设置成text/event-stream就可以了。其实SSE,原创 2017-08-28 13:52:06 · 1698 阅读 · 1 评论 -
基于flask实现的简单博客
github地址:https://github.com/yangzhezjgs/flask_demo/tree/master/blog技术栈: boostrap + flask + sqlalchemy + sqlite3(数据库)python版本: Python3requirement: click==6.7 Flask==0.12.2 Flask-Login==0.4.0 Flask原创 2017-09-12 12:14:48 · 7192 阅读 · 2 评论 -
Flask上下文机制的理解
推荐两篇文章: http://www.jianshu.com/p/2a2407f66438 https://blog.tonyseek.com/post/the-context-mechanism-of-flask/推荐先看第一篇,再看第二篇 第一篇对请求处理的流程进行了梳理, 第二篇分析了一些细节,并且说明了使用栈结构的原因。原创 2017-08-09 16:16:37 · 324 阅读 · 0 评论 -
深入理解flask框架(1):WSGI与路由
flask是一个小而美的微框架,主要依赖于Werkezug 和 Jinja2, Flask 只建立 Werkezug 和 Jinja2 的桥梁,前者实现一个合适的 WSGI 应用,后者处理模板。 Flask 也绑定了一些通用的标准库包,比如 logging 。其它所有一切取决于扩展。 本文主要分析了flask是在Werkezug基础上如何构建WSGI接口与路由系统的。WSGI是什么?WSGI的本质原创 2017-12-28 12:11:18 · 1668 阅读 · 0 评论 -
深入理解flask框架(4):session
flask中session的实现是基于cookie。 打开flask源码的session.py文件,我们可以看到最后的接口类中,主要有open_session,save_session两个函数。class SecureCookieSessionInterface(SessionInterface):..... def open_session(self, app, request)原创 2018-01-12 15:20:53 · 682 阅读 · 0 评论 -
深入理解flask框架(2):应用上下文与请求上下文
什么是上下文?flask框架中的上下文本质上就是两个类,我们可以先看一下他的初始化函数: 应用上下文class AppContext(object): """The application context binds an application object implicitly to the current thread or greenlet, similar to how原创 2017-12-29 12:01:24 · 1940 阅读 · 0 评论 -
flask + vue.js 实现简单todolist应用
https://github.com/yangzhezjgs/flask_demo/tree/master/todolist使用vuejs,axios,flask,sqlalchemy,sqlite3(一个简单的单文件数据库)构建的一个TODOlist应用,练习前后端交互和增删查改。使用的手脚架为:vue init webpack-simple todolist搭建环境和依赖略原创 2017-09-13 00:12:44 · 3142 阅读 · 0 评论 -
深入理解flask框架(3):config与extension
configflask中的配置,都是通过config来控制 那么config究竟是什么?self.config = self.make_config(instance_relative_config)再来看make_config函数:def make_config(self, instance_relative=False): root_path = self.root_p原创 2018-01-09 16:39:42 · 1978 阅读 · 1 评论 -
werkzeug实现简单Python web框架(4):添加orm支持
orm代码: 参考前文 Python实现简单orm 将代码复制粘贴到orm.py文件即可。下面我们用一个例子来说明这个简单orm的使用。 (1)新建 scheme.sqldrop database if exists my_user;create database my_user;use my_user;create table users ( `id` varchar(50) not原创 2017-09-04 11:37:27 · 438 阅读 · 0 评论 -
werkzeug实现简单Python web框架(3):添加动态路由
借助werkzeug原生的Map,Rule来添加动态路由支持 修改了 __init__函数和add_url_rule,dispatch_request函数import osfrom werkzeug.wrappers import BaseRequest, BaseResponsefrom werkzeug.exceptions import HTTPException, MethodNotA原创 2017-09-06 11:26:29 · 874 阅读 · 0 评论 -
werkzeug实现简单Python web框架(2):添加jinjia2模板支持
添加了render_template函数,提供了模板支持,并进行了重构将鼓励函数和wsgi接口分开。 代码:import osfrom werkzeug.wrappers import BaseRequest, BaseResponsefrom werkzeug.exceptions import HTTPException, MethodNotAllowed, \ NotImple原创 2017-09-04 11:01:45 · 543 阅读 · 0 评论 -
网关协议学习:WSGI
Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。WSGI是作为Web服务器与Web应用程序或应用框架之间的一种低级别的接口,以提升可移植Web应用开发的共同点。WSGI是基于现存的CGI标准而转载 2017-02-09 19:47:16 · 342 阅读 · 0 评论 -
Flask源码剖析
作者:赖明星 链接:https://zhuanlan.zhihu.com/p/24629677 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前言本文将基于flask 0.1版本(git checkout 8605cc3)来分析flask的实现,试图理清flask中的一些概念,加深读者对flask的理解,提高对flask的认识。从而,在使用flask过程中转载 2017-02-09 20:35:52 · 2076 阅读 · 0 评论 -
装饰器实现Python web框架路由功能
Python版本:2.7 类似flask路由功能的实现 关键点 (1)__call__方法的使用 (2)装饰器的使用 (3)对WSGI的理解 代码实现class WSGIapp(object): def __init__(self): self.routes = {} def route(self,path=None): def decora原创 2017-05-25 10:36:49 · 3546 阅读 · 0 评论 -
nginx + uWSGI + flask应用部署
简单写一下过程 操作系统版本:Ubuntu 16.4 主要参考资料: http://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/WSGIquickstart.html 按照上面网址来做就好了 (1)安装软件 apt-get安装ngnix,这种方式安装的版本较低nginx version: nginx/1.10.0 (Ubuntu)sudo apt-原创 2017-05-05 21:28:36 · 360 阅读 · 0 评论 -
web学习阶段总结(3)大作业小结
对这段时间web学习做一些总结: 期末大作业选择的题目是: 做一个使用Video API的页面程序,要求内容是有关在线视频播放的,video必须是自己录制的。 因为考虑到作业的实用性,我把它完善为一个简单的网站,使用到的技术有: 应用部署:ngnix + uWSGI + flask web前端:boostrap控制样式 + jQuery+ajax+vediojs视频插件 web后端:Py原创 2017-06-06 21:46:43 · 9724 阅读 · 0 评论 -
tornado websocket 学习demo:简单聊天室
说明: 1.需要在放chat.py的目录下新建template,存放index.html文件 2.使用的时候访问127.0.0.1:8888 3.效果图为: 4.参考:http://blog.youkuaiyun.com/lrenjun/article/details/8906099 对原版做了一点修改,主要是 var url = "ws://"+location.host+"/websoc原创 2017-06-02 19:56:44 · 3549 阅读 · 0 评论 -
flask+mongodb实现简单todolist应用
学习mongodb的小练习 效果 点击submit,显示如下列表 点击done,unifinished 变为 finished 点击delete删除 结构 todolist/ ├── app.py └── templates ├── base.html └── index.html代码 app.pyfrom flask import Flask, j原创 2017-08-11 21:35:32 · 2811 阅读 · 2 评论 -
一个web框架的诞生——写程序最重要的是开心
最近写完了自己的个人项目—— 一个轻量级的 python web框架Light,简单写写总结和心得体会。 完成这个项目的过程中学到的东西大体可以分为两个部分,一个是具有通用性的知识,一个是编写过程中的具体的细节和理解。 通用部分可以分为:1.http协议的理解 2.面向对象的设计思想 3.web框架的理解 4.对一个项目的管理和组织 具体部分就是:1.Python的面向对象的特性 2.Py原创 2017-08-20 23:28:53 · 506 阅读 · 0 评论 -
对服务器端编程的理解
服务器端编程的本质用一句话来概括就是解决客户端进程和服务端进程之间的通信和数据交换问题。 下面我们就要思考两个问题: 第一个是两个进程如何通信? 通常通过操作系统提供的socket系统调用来进行TCP连接。(IPC方法很多,并不只有socket) 第二个是如何保证双方互相理解? 需要建立相应的规则,这也就是我们所谓的协议。以Python web开发为例,一个http请求过程要经过: 浏览原创 2017-08-27 15:07:06 · 879 阅读 · 0 评论 -
python web开发入门
ps:最近(18.2.26)对内容做了一些修改。Python web开发通常都是从学习某一种框架开始,比如Django,flask。但是框架封装了太多细节导致初学者难以理解python web开发的本质,写一下自己的经验希望能够对同样迷茫的你有些许帮助。(1)编写一个web服务器 Python web开发是web开发的子集,在学习如何用Python开发web应用之前,我们需要了解web服...原创 2017-05-10 20:24:20 · 30292 阅读 · 0 评论