问题标签 [turbogears2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pylons - 涡轮齿轮 2 / 塔架
我真的很困惑,我的目录结构如下。/foo/bar/项目/
项目下是通过virtualenv的python环境。
我有两个额外的文件夹 live 和 beta。
Live 是通过 apache wsgi 提供的,而 beta 是使用 Paster 提供的。
一些实时站点如何从 beta 目录中提供模板。为了确保我不会失去理智,我将 beta 目录重命名为 wtfbeta,希望服务器会抛出错误,帮助我找出问题所在。
不,它只是回退到从实时目录加载正确的模板。(服务 apache2 重启后)。
我真的被困在这里了。
python - 如何访问涡轮齿轮箱控制器中的静态文件
我在 /my_project/public/xml/file.xml 中有一个 XML 文件,我想用控制器中的一种方法读取和解析它。该文件可以通过模板轻松访问,但我没有在控制器中访问文件的经验。
python - SQLObject/SQLAlchemy 项目的 Web 呈现框架
我正在寻找基于 SQLObject 或 SQLAlchemy 的非 Web 项目的最优雅的方式,并用一个体面的 Web 框架覆盖它。
我看过Turbogears,尽管它看起来像是我可以使用的东西,但模型似乎必须在 Turbogears 框架内定义。我希望将核心功能(模型、代码)和呈现层(turgbogears,?)分开。
我需要一些可以从我现有的代码库中获取模型并帮助呈现数据而没有太多麻烦的东西。
python - 在 mongodb 上使用 ming 按相关项目排序
设置
一个 TurboGears2 项目,使用 ming 作为 mongodb 的 ORM。我习惯于使用关系数据库和 Django ORM。
问题
Ming 声称让与 mongodb 交互,就像它是一个关系数据库一样,在关系数据库中常见的事情是通过外键的属性对查询进行排序。使用 Django ORM,这用双下划线表示,如下所示:MyModel.objects.all().order_by('user__username')
这在 ming 有没有等价物?
python - 粘贴快速入门不是一个选项
我只是在运行虚拟环境(python 2.7)的 Windows 7 上安装 TurboGears2。我在运行时没有看到粘贴快速启动选项
相反,这是输出:
因此,当我运行时,这并不奇怪:
我得到:
我的问题:为什么它丢失了,我如何得到它?
python - TurboGears 2 快速入门立即显示错误
我是 TurboGears 的新手,刚刚在虚拟环境中安装了 TG2 开发。我正在按照快速入门指南进行操作,并通过以下方式成功构建了一个 helloworld
我启动了服务器并将网络浏览器导航到 localhost:8080
你不知道吗,我立即收到一个错误,而不是文档建议我应该看到的欢迎消息。
错误内容如下:
这是跟踪:
pylons.request.accept_language.best_matches())) AttributeError: 'AcceptLanguage' 对象没有属性 'best_matches'
我是不是在安装时搞砸了,或者这是 TurboGears 的问题?
编辑:我创建了第二个项目,我命名为 GoodnightMoon,这次没有 Mako 模板选项(这是设置之间的唯一区别),我得到了同样的错误:
不幸的是,这个问题是我唯一可以通过与此错误完全相关的网络搜索找到的问题。
是否有任何其他线索我可以使用并提供给 stackoverflow 来帮助回答这个问题?
按照下面迈克尔·佩德森的建议,我研究了 i18n。我有一个 i18n 目录,其中只有一个子目录,名为 ru(我假设是俄语)。我正在研究英语默认的系统和浏览器。
在提出这个问题时,我正在使用最新的 TG2 发行版 v. 2.1.3 和 tg.devtools 2.1.x
python - i18n 打破涡轮齿轮设置 -wiki20 教程
作为 Turbogears 新手学习 20wiki 教程
我正在使用win7,python 2.7.2(我想我的计算机语言环境是希伯来语,但一开始我打算进行英语开发),我认为涡轮齿轮的版本是2.1.3
当我运行“paster serve --reload development.ini
我进入 localhost:8085(我将默认应用程序端口更改为 8085)一个带有以下消息的服务器错误页面: AttributeError: 'AcceptLanguage' object has no attribute 'best_matches'
我检查了我的 i18n 库,发现有一个名为 ru 的子文件夹,并且只有那个子文件夹(猜猜这代表俄语)
我尝试在 development.ini 中取消注释 lang= 并将其设置为 lang =en 或 lang=en_EN 或 lang = en_US 或 lang = en-US 或 lang = he 但在所有情况下,错误消息都更改为:LanguageError: IOError :[Errno 2] 找不到域的翻译文件:'wiki20' 我也尝试遵循本地化指南并设置'他'语言和翻译文件等'遵循完整指南但是 - 这根本没有帮助
我在 stackoverflow 中发现了另一个有同样问题的人,但没有答案TurboGears 2 quickstart 立即显示错误 原始回溯在这里: http: //pylonshq.com/tracebacks/089af51be2370022eb0029ef6106168c
一开始我实际上更愿意禁用所有这些 i18n 的东西.. 但我不知道如何做到这一点
我很乐意为此提供任何帮助
sqlalchemy - 使用 sqlalchemy 和 turbogears 反映现有表时将特定列分配为主键
这是一个项目的一部分,该项目涉及使用 tg2 处理其中的 2 个数据库(该模型使用的是 mssql)。因为我需要读取/写入的表是使用不同的应用程序创建和管理的,所以我不希望 turbogears 覆盖/更改表 - 只需使用现有表 - 所以我使用 sqlalchemy 神奇的“自动加载”反射(我也不知道 mssql db 中这个表配置的每个细节model.__init__.py
)由于 tg2 内部工作,一些反射是在课堂上而不是在课堂上完成的(正如一些 sqlalchemy 教程所建议的那样)
这是我收到的错误消息:(数据库中的表名是 SOMETABLE,在我的应用程序中,类是活动)
这是活动课:
这是model.__init__.py
初始化模型方法(调用反射的地方):
所以我想我需要告诉 sqlalchemy 什么是主键 - 但是在使用反射时我该怎么做(我知道主键字段)?
编辑工作解决方案:
同样在模型中,我必须添加主键列:
当然,我还必须添加各种导入model.__init__.py
来完成这项工作
奇怪的是,它甚至在连接到数据库之前抱怨没有找到主键,并且当一个独立的 sqlalchemy 类(没有 tg2)执行相同的键时 - 根本没有抱怨。让你想知道
sqlalchemy - sqlalchemy 使用 tg2 和 pyodbc 引发 DataError 22001 写入 SQL Server 2005
我在 SQL Server 表中使用了反射的 sqlalchemy 映射类。我的活动类(映射类)的 DBSession.add() 实例包含从不同来源获得的数据。然后我调用了 transaction.commit()(因为我是从 tg2 调用的,所以我不能使用 session.commit())
错误回溯:
很高兴得到任何帮助,因为我不知道如何从这里继续/调试
编辑:我怀疑这与 unicode 有关,所以我将 sqlalchemy 列更改为 unicode。
也许 DataError 以某种方式卡住了,我需要调用回滚,但我不知道在 tg2 的事务中调用回滚是热的
编辑:mssql 中的 EVENTCODE 列是:datatype:PK,nvarchar(6),不为空希望这有帮助
另一个编辑:插入代码(相关部分)
python - 在特定数据库上释放 turbogears2 句柄(控制事务管理器)
我正在构建一个使用 2 db 的 turbogears 应用程序 - 第二个 - 我指的是 mssql db - 由另一个应用程序使用(不是我的 - 我的应用程序实际上是解决问题的黑客 - 所以我可以'不控制其他应用程序或 mssql db 设置)
我正在使用 sqlalchemy(通过 turbogears)写入特定的数据库表:
数据被写入 db - 但是 turbogears 应用程序在 db 上保留了某种句柄,因此使用该 db 表的主要应用程序可以从中读取但不能更改它。直到我停止 turbogears 应用程序,然后一切正常。我试着打电话:
但随后数据被神奇地从数据库中删除 - 可能是事务回滚。我也试着打电话:
具有类似的效果(或根本没有效果,我不确定)
我在 turbogears 中读到事务管理器(我猜是 repoze.tm)处理提交,但我不知道 - 什么时候调用它?我该如何控制它?尤其是当函数完成它的预定运行时如何删除数据库句柄(我不能只是结束脚本,它是一个 cron 作业,每小时运行一次)。tg2.1 文档对此主题非常不清楚
我还阅读了我应该覆盖 commit_veto 的地方 - 但不明白 - 我应该如何做以及在哪里做?在我的应用程序中我应该在哪里调用 transaction.abort() .doom() 或其他什么?
我也使用事务钩子尝试了相同的功能,但没有成功调用钩子
谢谢你的帮助。
版本数据:
- 涡轮齿轮箱 2.1.3
- sqlalchemy 0.7
- 微软SQL 2005
- 使用 pyodbc 连接到 mssql