金字塔项目的有用工具
sixfeetup.bowab的Python项目详细描述
内容
Introduction
此包是生成金字塔应用程序的实用程序代码的集合 由sqlalchemy支持更容易。它包括:
- 一个templateapi类,用于将变量注入到所有模板中
- deform csrf验证模式
- deform recaptcha小部件
- sqlalchemy dbsession和声明性根存根
Extra Models
如果您有希望主initialize_db脚本创建的模型, 它们需要从sixfeetup.bowab.db.Base继承。然后将以下内容添加到配置中:
bowab.models = dotted.python.path.to.models
Using the TemplateAPI
如果您想按原样包含sixfeetup.bowab.api.TemplateAPI类,只需要 在金字塔应用程序配置中包含此项:
config.include('sixfeetup.bowab')
这将向pyramid.events.BeforeRender事件添加事件订阅服务器。这意味着 模板将有权访问代表TemplateAPI实例的api变量。
Google Analytics
templateapi类支持从金字塔设置注册表中提取google分析设置。支持以下键:
- gaq.account
- Property ID from Google
- gaq.allow_linker
- http://code.google.com/apis/analytics/docs/gaJS/gaJSApiDomainDirectory.html#_gat.GA_Tracker_._setAllowLinker
- gaq.domain_name
- explicit domain name to use
- gaq.single_push
- boolean; use a push per setting, or one single push
要在项目中使用它,请更新base.pt以包括:
<!-- Google Analytics --> <tal:gaq condition="api.gaq"> <tal:code replace="structure api.gaq.as_html()" /> </tal:gaq>
Customizing the TemplateAPI
通常,您会希望使用sixfeetup.bowab.api.TemplateAPI类作为自己api的基础 实例,因为您可能有可用于模板的额外变量。
为此,需要包含sixfeetup.bowab,如“使用templateapi”部分中指定的那样。
然后,在项目中创建继承自sixfeetup.bowab.api.TemplateAPI:
的子类from sixfeetup.bowab.api import TemplateAPI class MyTemplateAPI(TemplateAPI): def __init__(self, request, rendering_val): super(MyTemplateAPI, self).__init__(request, rendering_val) # Any custom initalization def my_func(self): return 'my func'
然后,在paster.ini文件中,包括以下内容:
bowab.api_class = my_project.MyTemplateAPI
确保bowab.api_class变量指向自定义类的全点路径。这个班会 然后由sixfeetup.bowabinclude进程注册。
Using the Recaptcha Widget
recaptcha小部件需要recaptcha帐户的私钥和公钥。 可以在配置文件中使用bowab.recaptcha_private_key和 bowab.recaptcha_public_key值。
Using the SpectrumColorPickerWidget
spectrum color picker小部件可用于转换预期的文本输入 ''* ' -前缀十六进制值到一个漂亮的基于jQuery的颜色选择器输入。
如果小部件使用“默认”颜色值初始化,则该值将为 显示为托盘样本,以便于返回默认值。如果初始化为 “颜色”值,即显示的初始颜色。
使用颜色选择器小部件的表单将需要使用colorpicker_registry 以确保找到颜色选择器js和css文件。或者, 资源可以导入并加载到自定义注册表中,或加载到 变形default_resource_registry。
如果表单中有多个颜色字段,并且希望 用于color和default的值,导入build_color_widget函数 它适合在延迟的小部件生成器中使用。(见 speak_friend.forms.profiles.Domain例如)。
Contributors
- 大卫·布莱维特
- 诺兰·布鲁贝克
- 克里斯尤因
- 克丽丝·温赖特
- 克莱顿·帕克