Web开发过程中使用的Web实用程序集合。

web_utils的Python项目详细描述


web实用程序类和函数。
当前状态:正在开发中,正在我的项目中工作。
在http://github.com/winkidney/web实用程序中找到我。

摘要如下所示。稍后将编写文档。

sqlalchemy]"安装所有要求。
```

wtfomrs.
+security-密码生成器,由bcrypt生成。简单的url符号生成器。
+\u sqlalchemy-dbfieldconverter,用于将alchemy的模型实例转换为具有白名单支持的dict-like字符串。
+\u pyramid-工具形成金字塔web框架实用程序。




返回可在其中运行任何代码的python模块对象。

+方法
+初始化(名称,存储后端=dummystoragebackend,缓存后端=dummycachebackend)
使用给定的存储后端和缓存后端创建加载程序。
+创建模块(全名,代码脚本,保存密钥=无)
如果给定了"保存密钥",使用它而不是全名作为传递给存储后端的"set"方法的"accees_key"。
+save(mod,cached=false,**kwargs)
将模块对象保存到存储后端和缓存后端(可选)。
**kwargs将传递给后端的"set"方法。
+load(全名,save_key=none,**kwargs)
按模块名称加载模块(如果给定"save_key",取而代之)。

web实用程序。表单
wtfroms的自定义字段和其他验证器

+验证器
+uuid验证器
+timeafternow验证器-如果当前日期时间字段晚于现在,则返回"true"。
+mobilephone validataor-检查数字序列是否为中国的电话号码
+自定义字段
+unixtimefield
+textarrayfield-将类似"a、b、c、1、3、3"的"list"转换为python list。
+json field-检查文本是否为json格式的字符串,并将其转换为python数据(使用"json.loads")
+intarrayfield-将list转换为类似"1",2,3,45`进入python list(由python的'int'对象组成)
+utils
+json2form-将python dict转换成可以被wtforms读取的'multidict'。

web utils.json forms
以wtforms的方式验证json字符串或dict对象。
只继承'jsonform'类并调用'validate'`方法进行验证。
通过"json schema"验证,[验证快速启动](http://json schema.org/latest/json schema validation.html)。
下面列出的示例:
`` python
类newpmsschema(jsonform):
schema={
"type":"object",
"properties":{
"to-uid":{
"type":"number",
},
"content":{
"type":"string",
},
"test":{
"type":"object",
"properties":{
"test1":{
"type":"integer",
}
}
},
},
"required":["to_uid","content"],
}


form=newpmsschema({'to_uid':'a',"content":1})
result
result=form.validate()
errors
如果没有结果:
打印表单。errors
`````

web实用程序。安全性
不建议使用它。

web实用程序sqlalchemy
sqlalchemy模型到json数据转换器,支持白名单和自定义转换器。

Examp下面列出的le:

`` python
类APIStorage(base,dbfcmixin,storagebackendmixin):

白名单
默认输出=('id','category','resource_u name','document')

id=列(整数,primary_key=true,autoincrement=true)
category=column(text,nullable=false)
resource_name=column(text,nullable=false)
body=column(text,nullable=false)
ctime=column(datetime,default=datetime.datetime.utcnow)

有白名单支持。

```

_="api_存储"
u默认_输出=('id','category','resource_name','document')


id=列(integer,primary_key=true,autoincrement=true)
category=列(text,nullable=false)
resource_name=列(text,nullable=false)
body=列(text,nullable=false)
ctime=column(datetime,default=datetime.datetime.utcnow)

模型实例。默认输出

converter.a s_dict()

as list
converter.as_list()

键入。
``python
from sqlalchemy import text
dbfieldconverter.register(text)
````
将在dbfc中注册文本类型。
注意:如果未注册,dbfieldconverter将在控制台中打印"警告"信息。

``python
dbfieldconverter.register(text,lambda x:x[-1])
```
将输出输入字段的最后一个字符,类型为"text"。

=dbfc(model戋instance,model戋instance.戋default戋output,registry={text:lambda x:x[-1]})
````
**注意:*此注册表不会影响dbfieldconverter的其他实例的注册表,因为它是"实例注册表"。
否则,注册表中的"dbfc.register"寄存器类转换器会影响每个实例。


exclude=none)
````



\web实用程序。extra
一些有关参数解析、日期时间格式的实用程序。
+getsingleargument
+bool(cls,value,default=false)默认值支持,不会返回none。
+integer(cls,value,default,nmin=none,nmax=none)-分析字符串中的整数,如果不在给定范围内,则返回默认值。
+string(cls,value,default='')-默认值支持
+format_timestamp
from tornado core,to format timestamp
``python
>;>;format_timestamp(1359312200)
'sun,272013年1月18日18:43:20 GMT"
```
+attr dict
attr dict`
```
d=attrdict({a':1})
d.a输出1
````
使用它时有很多问题,在真正知道自己在做什么之前请注意。




2015-03-19修复错误` jsonform和在jsonform中添加整数和字符串自动转换器
2015-02-13更新自述文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓 Java。null对象引用上的lang.NullPointerException   java如何测试传递的对象是集合还是数组   java如何重新培训接收v3?   Netbeans中的Java类SimpleDate不是SimpleDateFormat问题   从安卓库项目引用的java Jar未被应用程序引用。NoClassDefFoundError   java寻找奇数除数   java在不同的JVM上运行多个JMS使用者   java倾斜缓冲区有关xaxis的图像   Java中的最大子序列和算法   Spring REST中的java EOFEException   导致问题的Java泛型   多线程为什么两个Java线程(在某些情况下)的速度是一个线程的两倍以上?   java注销将重定向到“/sessiontimeout”,而不是“/Logout”`   java无法在小程序中获取InputStream()   java遇到过早的文件结束异常   java从文件读入并添加到2D数组   java如何在我的GAE网站上检测已经从谷歌注销的用户   java将一个键放入特定目录中的json中,将该键放入所有目录(JsonPath.parse(String))。放置)