Home » digwtx
  • 30
  • 05月

Flask 0.11 发布

After a very long, long waiting time Flask finally got a new release. There really was no good reason that there has not been a release in such a long time but unfortunately once things are postponed for too long a certain release anxiety kicks in.

In this case this ...

Read More...

  • 28
  • 08月

Flask-Admin 1.3.0 发布

  • New feature: Edit models in the list view in a popup
  • New feature: Read-only model details view
  • Fixed XSS in column_editable_list values
  • Improved navigation consistency in model create and edit views
  • Ability to choose page size in model list view
  • Updated client-side dependencies (jQuery, Select2, etc)
  • Updated documentation and examples ...

Read More...

  • 28
  • 08月

Flask-Admin 1.2.0 发布

  • Codebase was migrated to Flask-Admin GitHub organization
  • Automatically inject Flask-WTF CSRF token to internal Flask-Admin forms
  • MapBox v4 support for GeoAlchemy
  • Updated translations with help of CrowdIn
  • Show warning if field was ignored in form rendering rules
  • Simple AppEngine backend
  • Optional support for Font Awesome in templates and menus
  • Bug ...

Read More...

  • 28
  • 08月

Flask学习视频推荐

目录:

[TOC]

微软学院出品的英文学习视频

  • 01 | Introduction to Flask 01:18:00
  • 02 | Creating Webpages using Flask 01:12:00
  • 03 | Creating a Web Interface 01:11:00
  • 04 | Data Storage Locations 01:05:00
  • 05 | Using Redis 01:03:00
  • 06 | Using Redis and Flask on Azure 00:48:00
  • Recommended ...

Read More...

  • 28
  • 08月

探索 Flask 是一本关于使用 Flask 开发 Web 应用程序的最佳实践和模式的书籍。这本书是由 426 名赞助人 在 Kickstarter 上 于 2013 年 7 月资助的。

这本书的中文版已由 Python中文学习大本营 翻译, 传送门: 探索Flask

Read More...

  • 28
  • 08月

2015年3月初, mrjoes 发布了 Flask-Admin 1.1.0 版本. 这是一个大量 BUG 修正版本. 亮点:

  • 可在列表页面编辑内联模型
  • FileAdmin 重构并修正
  • FileUploadFieldImageUploadField 可使用 Required() 验证器
  • BUG 修正
  • 修正 Babel 中 zh_TW/zh_CN 不规范的问题

PS: 这个版本存在多语言失效的问题,好在 master 分支上已经修复了,期待下一个版本。


英文原文:

Mostly bug fix release. Highlights:

  • Inline model editing on the list page
  • FileAdmin refactoring ...

Read More...

  • 28
  • 08月

你打了个响指, 然后开始致力于你想写的棒极了的 Python 网络应用程序. 你写完一些页面 , 最后你需要着手处理令人讨厌的任务:处理和验证表单输入. 进入(开始)WTForms.

但是, 为什么我需要另一个框架呢?好吧, 一些网络应用程序框架采用数据库模型和 表单处理相结合的方法. 同时这对很基本的创建/更新视图函数是很方便的, 可能性是不是 每个你需要的表单都能直接映射到一个数据库模型. 也许你已经使用通用的表单处理框架 , 只是你想要定制这些表单域的 HTML 代码生成, 并且定义属于你的验证器.

使用 WTForms, 你能生成属于你的表单域的 HTML 代码, 此外我们允许你在模板中定 制它. 这允许你维持独立的代码和展现, 并把这些凌乱的参数保留在 Python 代码之外. 因 为我们争取松耦合, 同样的, 你应该可以在你喜欢的任意的模板引擎中这么做.

备注: 本人未过四级, 翻译水平有限, 欢迎指正.

本文目录

[TOC]

下载和安装

安装 WTForms ...

Read More...

  • 28
  • 08月

本文介绍如何通过Flask-OAuthlib扩展实现QQ OAuth2登录。

Flask-OAuthlibOAuthlib的Flask扩展实现,主要特性:

  • 支持OAuth 1.0a, 1.0, 1.1, OAuth2客户端
  • 友好的API(和Flask-OAuth一样)
  • 与Flask直接整合
  • 等等……

Flask-OAuthlib提供了多个开放平台的示例代码,比如Google, Facebook, Twiter, Github, Dropbox, 豆瓣, 微博等,只是暂时没有QQ登录的示例代码。

[TOC]

QQ OAuth登录示例

下面是QQ登录的代码:

import os
import json
from flask import Flask, redirect, url_for, session, request, jsonify, Markup
from flask_oauthlib.client import ...

Read More...

  • 28
  • 08月

在某些情况下,我们需要对模型的某个属性进行格式化。比如,默认情况下,日期时间显示出来会比较长,这时可能需要只显示月和日,这时候,列格式化就派上用场了。

比如,如果你要显示双倍的价格,你可以这样做:

class MyModelView(BaseModelView):
    column_formatters = dict(price=lambda v, c, m, p: m.price*2)

或者在Jinja2模板中使用宏:

from flask.ext.admin.model.template import macro

class MyModelView(BaseModelView):
    column_formatters = dict(price=macro('render_price'))

# in template
{% macro render_price(model, column) %}
    {{ model.price ...

Read More...

  • 28
  • 08月

Flask-Admin中文入门教程

Flask-Admin是一个功能齐全、简单易用的Flask扩展,让你可以为Flask应用程序增加管理界面。它受django-admin包的影响,但用这样一种方式实现,开发者拥有最终应用程序的外观、感觉和功能的全部控制权。

本文是关于Flask-Admin库的快速入门。本文假设读者预先具有一些Flask框架的知识。

[TOC]

介绍

这个库打算做到尽可能的灵活。并且开发者不需要任何猴子补丁就可以获得期望的功能。

这个库使用一个简单而强大的概念——管理部件(administrative pieces,不太好翻译),是用视图方法构建的类。

例如,这是一个绝对有效的管理部件:

class MyView(BaseView):
    @expose('/')
    def index(self):
        return self.render('admin/myindex.html')

    @expose('/test/')
    def test(self):
        return self.render('admin/test.html')

如果用户访问index视图,模板文件admin ...

Read More...