Linux下执行python报错:error while loading shared libraries: libpython2.7.so.1.0的解决方法

一台服务器上安装了多个python,配置不当可能会导致python运行时找不到某些系统库,比如今天遇到的在执行python命令时报:

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

找不到libpython2.7.so.1.0这个库。我们可以使用ldd命令来查看一个可执行文件执行时需要哪些系统库:

阅读全文»

小议wtforms的validator之URL格式校验

今天在flask项目中用到了wtforms中关于URL校验的类,我的forms中定义的url字段如下:

url=StringField(u'URL地址',validators=[DataRequired(message=u"URL不能为空"),URL(require_tld=True,message=u"URL格式不正确")])

本着开发自测的原则,想看看这个URL校验到底靠不靠谱,结果发现任何前缀都被视为了正常的URL,就连“hhhh://baidu.com”这货都能顺利通过校验。。

阅读全文»

flask中SelectField下拉列表选项的设定

今天遇到一个问题,我的flask项目中的forms.py中需要定义一个SelectField下拉列表(form使用wtforms实现),这个下拉列表需要动态从数据库中加载数据,我初步想直接在forms中定义该SelectField字段的choices值,如下:

project_id=SelectField(u'选择项目', choices=[(p.id, p.project_name) for p in Project.query.all()],coerce=int,validators=[DataRequired(message=u"项目名称不能为空")])

阅读全文»

django的settings中设置中文支持

今天创建了个django工程,用的是目前django最新版1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义

TIME_ZONE = 'Asia/Shanghai'
LANGUAGE_CODE = 'zh-cn'

当然TIME_ZONE只是指定时区,和中文显示没有关系,这里一并修改了默认值。结果运行项目时报错了,如下:

阅读全文»