1

我目前正在从 Django 切换到 Turbogears 2.1,并且遇到了一些我在 Turbogears 文档中找不到答案的问题。如果 tg 开发人员阅读了这篇文章,让我告诉你 Django 优于 TG 的最佳功能之一就是它的文档!

1) 我如何访问 mako 模板中的请求(用户?)对象以检查用户是否经过身份验证?例如

if (request.user.is_authenticated) '注销链接' else '登录链接'

2) 一个相关的问题(因为用户对象在 Django 中通过上下文处理器暴露给模板)。有没有办法将数据添加到请求上下文?例如,在我的 Django 应用程序中,如果用户通过 context_processors.py 文件中的定义登录,我会为用户添加一个缓存的通知字典,然后将该定义包含在设置文件的 TEMPLATE_CONTEXT_PROCESSORS 元组中。

3)这可能需要它自己的问题,但我想我会把它扔进去,以防有人有一个快速的建议。我使用 Netbeans 作为我的 IDE,它没有为 mako 文件提供代码着色或工具。但是,尝试使用 .html 扩展名重命名模板会引发 mako 错误。有什么办法可以解决这个问题,还是我坚持使用纯文本和 .mak 扩展名?

非常感谢

4

1 回答 1

1

我已经从 Turbogears 1.0 迁移到 Django。可能无法回答所有这些问题,但我相信总的来说 TG2 会尽量保持与 TG1 非常相似的东西。希望指出它在 TG 1 中的工作原理,可能会有所帮助......

1) 在 Turbogears 1.0 中,您将使用 tg.identity.anonymous 来查看用户是否已登录。快速浏览一下文档,显示它很可能仍然是相同的。

2) Turbogears 将这种东西称为 stdvars - 有关 TG 1 http://docs.turbogears.org/1.0/stdvars的详细信息,请参见此处

3) 抱歉不知道,但我想您可能只是告诉 Netbeans 将 .mak 视为 html 文件的另一个扩展名(因此它使用 html 语法突出显示)。

于 2009-12-15T15:37:40.260 回答