涡轮齿轮实用工具集2
tgext.utils的Python项目详细描述
关于tgext.utils
utils是TurboGears2 Web框架的实用程序集合。
安装
可以从pypi安装tgext.utils:
pip install tgext.utils
应该只对大多数用户有效。
CSRF保护
tgext.utils.csrf提供两个装饰符@csrf_token和@csrf_protect,这两个装饰符 生成CSRF令牌以包含在表单中,并检查该令牌是否有效。
用户必须对公开窗体的操作应用@csrf_tokendecorator, 并将<input type="hidden">放入带有request.csrf_token的表单中 值和_csrf_token作为名称:
@csrf_token@expose()defform(self):return''' <form method="POST" action="/post_form"> <input type="hidden" name="_csrf_token" value="%s"> </form>'''%request.csrf_token
接收表单的操作必须具有@csrf_protectdecorator, 此操作不需要特殊操作或检查:
@csrf_protect@expose()defpost_form(self,**kwargs):return'OK!'
弹头
tgext.utils.slug提供了一种为页面生成slug的方法
要生成弹头,请使用:
fromtgext.utils.slugimportslugifymyslug=slugify(model_id,string_to_be_inserted_in_the_url)
要从蛞蝓中获取ID,请使用:
fromtgext.utils.slugimportslug2entityidslug2entityid(myslug)
储存
tgext.utils.storage是一个工具,用于将文件存储到单独文件夹中的/public dir中。
fromtgext.utils.storageimportstorefilename=store(ufile)# ufile is an instance of cgi.FieldStorage
文件存储在/public/storage/${uuid1}文件夹中,因此也可以使用内部tg文件服务进行访问。