涡轮齿轮实用工具集2

tgext.utils的Python项目详细描述


关于tgext.utils

https://travis-ci.org/TurboGears/tgext.utils.png?branch=masterhttps://coveralls.io/repos/TurboGears/tgext.utils/badge.png?branch=masterhttps://img.shields.io/pypi/v/tgext.utils.svg

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.meta.metatags提供了生成公共元标记的方便方法 对于网页。

lib/helpers.py中添加:

fromtgext.utils.metaimportmetatags

然后在您的页面中:

${h.metatags(title="pagetitle",description="Page Description",image="http://url/myimage.png")}

弹头

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文件服务进行访问。

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

推荐PyPI第三方库


热门话题
java如何使用javax从GetHTTP方法检索参数。ws。rs.*和玻璃鱼?   java是否可以在一个EJB3bean中同时使用@WebService、@Stateless和@Singleton?   java为什么我的变量不能接收值(接口)   即使PlayerView已暂停,java Exoplayer也会播放音频   java节点不能通过noe4j中的标签查找   在安卓中通过java动态添加Spinner   java为什么我不能使用Apache CLI解析选项   springjavajar文件读取图像文件   Android定时器的Java   使用TinyDB时出现java NullPointerException   java有什么方法可以获取HTTP get、POST、PUT、DELETE的常量?   使用摘要身份验证将java Maven Cargo插件部署到tomcat   数组二进制计算器赋值(Java)   内存泄漏Java,堆大小没有减少