}

网站迁移到阿里云记录

其实我一直都想着能够将新浪云上的网站迁移到独立的云服务器上,是因为我想学习一下整个系统,而不是只是脱管代码。但之前的确是觉得云服务器太贵了,没舍得买,就自己在自己的Linux系统上学习部署,可终究是不能抵不过上线的系统,因此决定买一个云服务器。虽然SAE也有云服务器,但在口碑上以及服务上,阿里云应该更胜一筹。 ##1、阿里云服务器 我买了一个阿里云ECS,配置是1核CPU,2G

阅读全文

MySQL数据备份以及安全规则

今天把SAE数据库上的数据都迁到阿里云服务器上了,过程还算顺利,但也遇到了几个问题。在这个过程中,我也学到很多知识。 刚开始直接利用phpmyadmin导出数据,但导出的数据不全,后来就用了新浪开发的DeferJobs导出,一共50M的SQL文件。 我先在本地测试了以便SQL导入,用Navicat软件。导入结果提示我“Got a big packet",后搜索一下,原因是MySQL

阅读全文

django的序列化

一直有个需求,将Django的Model中的字段和值转为字典或者json数据,每次都是笨方法,一个字段一个字段装到新字典,不通用,所以就写了这篇文章。 Django的Model类有一个Model _meta ,它是Django ORM的核心,允许系统其它部分,比如查询,表单,admin等去了解每一个model。我们通过每个Model类的_meta属性访问。 比如,我现在

阅读全文

网站评论系统的设计

因为多说关闭的原因,我不想再用第三方的评论插件了,想自己动手写一个。之前看了django-fluent-comments,本想用这个,但是我后来一想,我何不趁这个机会,再深入学习一下相关的知识呢,自己上动手写吧。这里主要参考了一个哥们写的评论系统,[https://www.rapospectre.com](https://www.rapospectre.com)。 ###设计思路: 整个评

阅读全文

Flask的Blueprint原理

蓝图可以有多个子应用,每个子应用拥有自己的视图函数和URL规则,有自己的模板等等,它们之间相互不影响,这大大地方便了我们日常代码的编写和维护,也便于后续扩展功能。当我们想扩展功能时,只需要创建一个子应用即可。而这些子应用都属于同一个应用。 ##1、使用示例 1、创建蓝图对象 article = Blueprint('article',__name__) @art

阅读全文

Flask权限认证(Flask-Principal)

Flask-Principal主要提供两种功能: 1、权限认证 2、用户信息管理 该模块主要由Identity, Needs, Permission, and the IdentityContext.组成。 - Identity代表用户,一般存储在session中; - Needs代表了一种角色,如需要管理员权限,需要验证等等; - Permission是接

阅读全文

Flask上下文

##一、应用上下文 ###1、app context的作用 Flask 的设计理念是允许在同一个进程中创建多个应用,因此一个应用对象对应着一个app 上下文,代码通过应用上下文会找到正确的应用。 不同的app上下文之间不能共享数据,不会在线程之间进行移动,因此可存储数据库配置及连接等信息。这时候就要理解Flask的LocalStack的概念。 ###2、Local介绍 L

阅读全文

Flask模板引用原理机制

Flask使用的是Jinja模板,除此之外还有模板还有Flask-Mako,Flask-Genshi,但不常用。 Jinja有两种定界符。{% ... %}和{{ ... }}。前者用于执行像for循环或赋值等语句,后者向模板输出一个表达式的结果。 使用 extends 和 block实现模板的继承。 在Jinja2模板中可以使用条件语句(if else endif),for

阅读全文

Flask模板Jinja2引擎介绍

##一、Jinja2变量及函数 ###1、标准变量及函数 在Flask的Jinja2模板中自动引入了一些标准变量,如request,session,g,config,标准函数有url_for,get_flashed_messages。 get\_flashed\_messages函数会获取我们在view_func中定义的flash消息。 {% meassages=get

阅读全文

Flask第三方插件扩展原理

flask这种轻量级的框架本身并没有包含我们需要的功能,因此必须通过扩展插件才可以。今天学习了FLask的扩展插件导入(import)原理。 通常我们import第三方插件时,如:flask.ext.principal import identity_loaded。 当执行该语句时,首先要执行flask/ext/__init__.py模块,该模块内函数如下: def s

阅读全文

request.get_all_path()

登录

Sign Up

Forgotten Password