flask日志处理


使用文档上的一句话:

Applications fail, servers fail. Sooner or later you will see an exception in production. Even if your code is 100% correct, you will still see exceptions from time to time. Why? Because everything else involved will fail.

应用发生错误时发送邮件

这里文档上个人认为说的不清不楚,毕竟想要使用还要看logging的文档

原文档

ADMINS = ['[email protected]']
if not app.debug:
    import logging
    from logging.handlers import SMTPHandler
    mail_handler = SMTPHandler('127.0.0.1' …

解决evil-escape下visual-state不能使用'jj'的问题


在一个多月前我给 evil-escape 开发者提了一个issue,但是不幸的是,没人理我,人理我,理我,我·····

于是这一个多月来我使用visual-state下选择段落的方式是: 跳到段落最后,按k从下往上选择, 现如今都快成为习惯了,今天终于有人解决了我的问题,非常感谢 ZzAntares

之前我用

(setq evil-escape-excluded-major-modes '(dired-mode neotree-mode evil-visual-state))

解决了'jj'在 dired-mode neotree-mode 下的问题,但是遗憾的是 visual-state 下的选择问题仍然没有解决

现在终于解决了, issue

(setq evil-escape-inhibit-functions '(evil-visual-state-p))

ok ,就这样

flask中生成atom


参考资料1 参考资料2

下面是具体代码
# from urlparse import urljoin #python2
from urllib.parse import urljoin
from flask import request
from werkzeug.contrib.atom import AtomFeed


def make_external(url):
    return urljoin(request.url_root, url)


@site.route('/atom.xml')
def feed():
    feed = AtomFeed('Recent Articles',
                    feed_url=request.url,
                    url=request.url_root,
                    subtitle='I like solitude, yearning for freedom')
    articles = Articles.query.limit(15).all()
    for article in articles …

archlinux安装steam


最近想要玩会儿游戏,但是又不想切换到windows,所以准备安装steam,在linux下玩游戏, 参考文档Steam

准备工作

因为我的是64位操作系统,所以需要启用 multilib

$ sudo vim /etc/pacman.conf
# 取消下面注释
[multilib]
Include = /etc/pacman.d/mirrorlist

双显卡bumblebee

我的又是双显卡,需要安装32位驱动

lib32-nvidia-utils
lib32-mesa-libgl
lib32-mesa

注意 除此之外,参考 bumblebee报错信息 还需要安装 virtualgl-libs:i386 ( arch上是lib32-virtualgl ) 否则报错

ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.

安装steam

$ sudo pacman -Syu steam

打开steam

直接启动报错

$ steam
/home/jianglin/.local/share/Steam/steam.sh …

flask实现分页


数据库实现分页

offset

使用offset可以实现数据库分页功能

questions = Questions.query.offset(num) # 从num开始

limit

使用limit实现限制每页的文章数量

questions = Questions.query.offset(num).limit(6) #每页显示6篇文章

前端实现分页

需求设计

是使用上一页,下一页,用表单进行跳转,还是使用数字显示

获得文章数量 pages,和当前页码 number

简单的上一页,下一页

因为我的设计不是这个,所以简单说一下

下一页,上一页

jinja2 代码

<a href="{{ url_for('blog.index',number=number + 1)}}">下一页</a>
<a href="{{ url_for('blog.index',number=number - 1)}}">下一页</a>

首页没有上一页,尾页没有下一页

{% if number == pages %}
no next …

sqlalchemy学习(一)


sqlalchemy

系统的学一下sqlalchemyA,不过没有中文文档,只能用我的渣英文能力慢慢看原文档了

数据库连接

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:', echo=True)

echo为True输出日志

各种数据库连接方式

dialect+driver://username:password@host:port/database
  1. Postgresql

    # default
    engine = create_engine('postgresql://scott:tiger@localhost/mydatabase')
    # psycopg2
    engine = create_engine('postgresql+psycopg2://scott:tiger@localhost/mydatabase')
    # pg8000
    engine = create_engine('postgresql+pg8000://scott:tiger@localhost/mydatabase')
    
  2. MySQL

    # default
    engine = create_engine('mysql://scott:tiger@localhost/foo')
    # mysql-python
    engine = create_engine('mysql …

archlinux的一些设置


最近在整理文件时发现了以前记下的一些设置,但是单独记在一个文件里不好找,也占用空间,现在记在博客里

vesa error

fcitx输入法

sudo pacman -S fcitx-im fcitx-configtool fcitx-sunpinyin

使用

增加内容到~/.xinitrc

export LANG=zh_CN.UTF-8
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
exec startxfce4

终端汉字显示

sudo pacman -S fbterm fcitx-fbterm
vim ~/fbtermrc

输入内容input-method=fcitx-fbterm

使用

终端输入fbterm

输入忽略大小写

vim ~/.inputrc

增加内容

set completion-ignore-case on

virtualbox

sudo pacman -S virtualbox

手动加载模块 modprobe vboxdrv

启动时加载模块

/etc/modules-load.d/virtualbox …