我的毕业设计--数据库设计之登陆注册


登陆注册数据库设计

共同字段:

  • id

    主键,自增ID

用户表

tablename: user
字段名 字段类型 字段描述 是否为空 是否unique 默认值
username string(20) 用户名 False True
password string(100) 密码 False False
email string(49) 邮箱 False True
is_superuser bool 是否为超级管理员 …

emacs预览图片时禁止smooth-scrolling


Table of Contents

需求

在使用 org-mode 写文档时,插入图片后默认不显示,想要直接在 org文件中预览图片,可以使用

org-toggle-inline-images

但是问题来了,开启预览模式后,移动光标跳过文件内容,找了一下

参考链接 1 那么问题来了,如何只在开启 org-toggle-inline-images 后关闭 smooth-scrooling, 关闭 org-toggle-inline-images 后开启 smooth-scrooling

解决

给出代码,使用 defadvice

(defadvice org-toggle-inline-images (after org-open-at-point activate)
  (if smooth-scrolling-mode (smooth-scrolling-mode -1)
        (smooth-scrolling-mode 1)))

Footnotes

1 …

Python中的__main__函数


Table of Contents

__main__

转自 这里

很多新手刚开始学习python的时候经常会看到python 中 __name__ = '__main__' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中name__ = '__main__' 的作用,到底干嘛的?

有句话经典的概括了这段代码的意义:

“Make a script both importable and executable”

意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。 这句话,可能一开始听的还不是很懂。下面举例说明: 先写一个模块:

#module.py
def main():
    print("we are in %s" % __name__)

if __name__ == '__main__':
    main …

flask使用token进行验证


为什么需要用token验证

原因呢是因为写博客时已经在本地写好了,但是要发表到网站上还需要这么几步:

  • 打开浏览器
  • 打开我的网站
  • 进入登陆页
  • 登陆
  • 进入后台页
  • 进入文章发表页
  • 复制粘贴
  • 发表

所以使用token验证成为必然

如何使用token?

生成token

使用itsdangerous对token进行加密

class User(model):
    ......

    @property
    def token(self):
        config = current_app.config
        secret_key = config.setdefault('SECRET_KEY')
        salt = config.setdefault('SECURITY_PASSWORD_SALT')
        serializer …

sqlalchemy序列化为json


为什么需要这个需求?

sqlalchemy 是个好东西,虽然其文档犹如/老太婆的裹脚布--又臭又长/,饱受诟病

使用 restful 时sqlalchemy返回的是一个 object 类,假设前后端分离,前端无法处理

如何实现?

直接给出代码

class Serializer(object):

    def __init__(self, instance, many=False, include=[], exclude=[], depth=2):
        self.instance = instance
        self.many = many
        self.include = include …

常用正则表达式


世界总是充满杯具


独自旅行的杯子

<2017-10-20 五 18:53>

世界总是充满杯具,正如陪伴了我大学三年多的水杯,独自坐上了开往广州的火车,离我而去

:运动是相对的

忘记背包的英文

世界总是充满杯具,正如帮助一名忘记拉上背包拉链的外国友人,"Your...Your"了半天,最后一句"I help you"换来的却是一句中文的"谢(sei)谢(sei)"

: 背包 backpack

错过的火车

<2017-10-23 一 18:58>

世界总是充满杯具,正如那错过的火车,刚到月台,火车刚开走,只要再给我30s,不,就20s······

注 …

python复习--装饰器


一个装饰器

from functools import wrapper

def log(func):
    @wraps(func)
    def wrapper(*args, **kw):
        print('call %s():' % func.__name__)
        return func(*args, **kw)
    return wrapper

或者针对带参数的decorator:

def log(text):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kw):
            print('%s %s():' % (text, func.__name__))
            return func(*args, **kw …

sqlalchemy常见数据类型及配置


类型名称 python类型 描述
Integer int 常规整形,通常为32位
SmallInteger int 短整形,通常为16位
BigInteger int或long 精度不受限整形
Float float 浮点数
Numeric decimal.Decimal 定点数
String str 可变长度字符串
Text str 可变长度字符串,适合大量文本
Unicode unicode 可变长度Unicode字符串
Boolean bool 布尔型
Date datetime.date 日期类型
Time datetime.time 时间类型
Interval datetime.timedelta 时间间隔
Enum str …

python的os模块学习


honmaple社区程序config介绍


  • DEBUG

    生产环境选择False 测试环境选择True

  • SECRET_KEY

    安全密钥,可通过下面方法生成:

    >>> import os
    >>> os.urandom(24)
    b'\xdfr\xff\xd1\xbcO\xc1\xa9_\xcb\x18\x04\xa6ZVJ\xf8\xd26]\x07_HE'
    
  • SECURITY_PASSWORD_SALT

    加盐,主要用于生成邮箱验证url

  • REMEMBER_COOKIE_DURATION, PERMANENT_SESSION_LIFETIME

    设置记住我之后cookies保存时间 使用 datetime.timedelta(days=3)

  • PER_PAGE

    设置每页显示多少条主题

  • 定制缓存
    CACHE_REDIS_HOST = '127.0 …

tar打包排除目录


使用 --exclude + 需要排除的目录

示例:

tar zcvf hello.tar.gz --exclude="**/__pycache__" maple/ manager.py

注意 : --exclude 参数需要在要打包的文件或目录前,否则不起作用,另外排除的目录后不能加 */*

--exclude 同样用于 排除文件

tar zcvf hello.tar.gz --exclude="*.pyc" maple/ manager.py

如何安装及使用honmaple社区程序


如何安装及使用

安装需要的package

pip install -r requirements.txt

配置config

查看配置详细介绍 …

virtualbox中使用U盘等usb设备


主系统:archlinux + virtualbox 5.0.24-1 虚拟机:windows

安装VirtualBox Extension Pack

下载

先从官网下载扩展包 https://www.virtualbox.org/wiki/Downloads

注意 :版本要一致

└──╼ pacman -Qi virtualbox
名字           : virtualbox
版本           : 5.0.24-1
描述           : Powerful x86 virtualization for enterprise as well …

centos7安装python3及pip3


Table of Contents

安装Python3

安装python3很简单

  • 下载源码并且编译
  • 安装epel

这里采用第二种方法:

yum install epel-release

安装完成之后,yum list python3*,你就可以看见 python34

yum install python34

安装pip3

参考问题 如果在上述安装 python3时采用了第二种方法,pip默认未安装,而且无法通过yum install python34-pip来安装

正确的方法应该是:

yum install python34-setuptools
easy_install-3.4 pip # 这里可能有一些出入,总之是使用python3的easy_install

ok,就这样

记录pip安装时报的错


Table of Contents

Pillow

ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

    ----------------------------------------
Command "/home/***/***/venv/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-k9djbrwk/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__ …

emacs解决windowns文件乱码


最近在看windows文件时总是乱码,查了资料后才知道windowns下的编码为 gb2312 , 而linux下的编码为 utf-8 ,所以打开文件会乱码

如何解决?

换系统

这不是废话吗!

修改language环境

在配置文件中加入这么一行

(set-language-environment 'Chinese-GB)

重启就行,结果····打开 linux下的文件乱码

重新以gb2312的编码载入文件(推荐)

参考这里

M-x revert-buffer-with-coding-system

选择chinese-gb2312,确认载入(不需要重启)

ok,是不是很简单