問題タブ [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/バー/プロジェクト/
プロジェクトの下は、virtualenv 経由の python 環境です。
ライブとベータの 2 つの追加フォルダーがあります。
ライブは apache wsgi 経由で提供され、ベータ版は paster を使用して提供されます。
ライブ サイトがベータ ディレクトリからテンプレートを提供している様子。気を失っていないことを確認するために、ベータディレクトリの名前を wtfbeta に変更しました。サーバーがエラーをスローして、何が問題なのかを追跡するのに役立つことを期待しています。
いいえ、代わりに、ライブ ディレクトリから正しいテンプレートをロードするようにフォールバックします。(サービスapache2の再起動後)。
私は本当にここで立ち往生しています。
python - ターボギアのコントローラーで静的ファイルにアクセスする方法
/my_project/public/xml/file.xml に XML ファイルがあり、コントローラーの 1 つのメソッドで読み取って解析したいと考えています。テンプレートを使用してファイルに簡単にアクセスできますが、コントローラーでファイルにアクセスした経験はありません。
python - SQLObject/SQLAlchemyプロジェクト用のWebプレゼンテーションフレームワーク
私は、SQLObjectまたはSQLAlchemyのいずれかに基づく非Webプロジェクトを取得し、それを適切なWebフレームワークでオーバーレイする最も優雅な方法を探しています。
Turbogearsを見てきましたが、使用できるもののように見えますが、モデルはTurbogearsフレームワーク内で定義する必要があるようです。コア機能(モデル、コード)と提示レイヤー(turgbogears 、?)を分離したい。
既存のコードベースからモデルを取得し、あまり面倒なことなくデータを表示できるものが必要です。
python - mongodbでmingを使用して関連アイテムで並べ替える
設定
mingをmongodbのORMとして使用するTurboGears2プロジェクト。私はリレーショナルデータベースとDjangoORMの操作に慣れています。
質問
Mingは、mongodbをリレーショナルデータベースのように操作できるようにすると主張しており、リレーショナルデータベースで行う一般的なことは、外部キーのプロパティでクエリを並べ替えることです。Django ORMでは、これは次のように2つのアンダースコアで表されます。MyModel.objects.all().order_by('user__username')
mingでこれに相当するものはありますか?
python - パスタークイックスタートはオプションではありません
仮想環境(Python 2.7)を実行しているWindows7にTurboGears2をインストールしています。実行すると、パスタークイックスタートオプションが表示されません
代わりに、その出力は次のとおりです。
だから、私が走ったときに驚くことではありません:
私は得る:
私の質問:なぜそれが欠落しているのですか、そしてどうすればそれを入手できますか?
python - TurboGears2クイックスタートはすぐにエラーを表示します
私はTurboGearsを初めて使用し、仮想環境にTG2開発をインストールしました。クイックスタートガイドをフォローしていて、を介してhelloworldを正常に構築しました
サーバーを起動し、Webブラウザーをlocalhost:8080に移動しました
あなたはそれを知らないでしょう、私はすぐにエラーを受け取ります、そしてドキュメントが私が見るべきであると示唆するウェルカムメッセージではありません。
エラーは次のとおりです。
トレースは次のとおりです。
pylons.request.accept_language.best_matches()))AttributeError:'AcceptLanguage'オブジェクトに属性'best_matches'がありません
インストール時に何かを台無しにしましたか、それともTurboGearsの問題ですか?
編集:GoodnightMoonという名前の2番目のプロジェクトを作成しましたが、今回はMakoテンプレートオプションなしで(セットアップ間の唯一の違いです)、同じエラーが発生します:
残念ながら、この質問は、このエラーに正確に関連するWeb検索で見つけることができる唯一の質問です。
この質問に答えるのを助けるために私が使用してstackoverflowに提供できる他の手がかりはありますか?
以下のMichaelPedersonのアドバイスに従って、私はi18nを調査しました。ruという名前のサブディレクトリが1つしかないi18nディレクトリがあります(ロシア語だと思います)。私は英語がデフォルトのシステムとブラウザに取り組んでいます。
この質問の時点で最新のTG2ディストリビューション、v。2.1.3、およびtg.devtools2.1.xを使用しています。
python - i18nブレーキングターボギアのセットアップ-wiki20チュートリアル
Turbogearsの初心者として20wikiチュートリアルに従う
私はwin7、python 2.7.2を使用しています(私のコンピューターのロケールはヘブライ語だと思いますが、最初は英語の開発を計画していました)。turbogearsのバージョンは2.1.3だと思います。
「pasterserve--reloaddevelopment.ini」を実行すると
localhost:8085(デフォルトのアプリケーションポートを8085に変更)に次のメッセージが表示されたサーバーエラーページが表示されます:AttributeError:'AcceptLanguage'オブジェクトに属性'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'ローカリゼーションガイドに従ってみましたが、'言語や翻訳ファイルなど'を完全なガイドに従って設定しましたが、これはまったく役に立ちませんでした
スタックオーバーフローで同じ問題を抱えている別の人を見つけましたが、答えがない場合、TurboGears 2クイックスタートはすぐ にエラーを表示します元のトレースバックはここにあります:http: //pylonshq.com/tracebacks/089af51be2370022eb0029ef6106168c
最初は、私は実際にこのi18nのものをすべて無効にすることを好みます..しかし、これを行う方法を見つけることができません
私はこれでどんな助けでもうれしいです
sqlalchemy - sqlalchemyとturbogearsで既存のテーブルを反映するときに、特定の列を主キーに割り当てる
これは、2 つのデータベース (このモデルが使用するのは mssql) に対して tg2 を使用するプロジェクトの一部です。読み取り/書き込みが必要なテーブルは別のアプリケーションで作成および管理されるため、ターボギアにテーブルを上書き/変更させたくありません-既存のテーブルで作業するだけです-したがって、sqlalchemyの魔法の「自動ロード」リフレクションを使用します(私もmssql db のこのテーブル構成のすべての詳細を知っているわけではありません)リフレクションの一部はクラス内で行われmodel.__init__.py
、クラス内では行われません(一部の sqlalchemy チュートリアルが示唆するように) tg2 内部作業のため
これは私が得るエラーメッセージです:(dbのテーブル名はSOMETABLEで、私のアプリではクラスはアクティビティです)
これは活動クラスです:
これはmodel.__init__.py
init モデル メソッドです (リフレクションが呼び出される場所):
だから私はsqlalchemyに主キーとは何かを伝える必要があると思います-しかし、リフレクションを使用しているときにそれを行うにはどうすればよいですか(主キーフィールドを知っています)?
作業ソリューションを編集します。
モデルでも、主キー列を追加する必要がありました。
model.__init__.py
もちろん、これを機能させるには、さまざまなインポートを追加する必要もありました
奇妙なことに、データベースに接続する前に主キーが見つからないこと、およびスタンドアロンの sqlalchemy クラス (tg2 なし) が同じキーを実行しているときに、まったく文句を言わなかったことが判明しました。不思議に思う
sqlalchemy - sqlalchemyは、tg2とpyodbcを使用してDataError 22001をスローし、SQLServer2005に書き込みます。
反映されたsqlalchemyマップクラスをSQLServerテーブルに使用しています。別のソースから取得したデータを含むActivitiesクラス(マップされたクラス)のDBSession.add()インスタンス。次に、transaction.commit()を呼び出しました(tg2から呼び出しているため、session.commit()を使用できません)
エラートレースバック:
ここからこれを続行/デバッグする方法がわからないので、これについての助けを喜んでください
編集:これはユニコードと関係があるのではないかと疑われたので、sqlalchemy列をユニコードに変更しました。
DataErrorが何らかの理由でスタックしていて、ロールバックを呼び出す必要があるかもしれませんが、tg2のトランザクションでロールバックを呼び出すのがホットかどうかはわかりません
編集:mssqlのEVENTCODE列は:datatype:PK、nvarchar(6)であり、nullではありませんこれが役立つことを願っています
別の編集:挿入コード(関連部分)
python - 特定のDBでturbogears2ハンドルを解放する(トランザクションマネージャーを制御する)
私は2dbで動作するturbogearsアプリケーションを構築しています-2番目のもの-私が参照しているのはmssqldbです-別のアプリケーションによって使用されます(私のアプリケーションではありません-私のアプリケーションは実際には問題を解決するためのハックです-だから私はできます他のアプリケーションまたはmssqldb設定を制御しません)
私はsqlalchemy(turbogearsを介して)を使用して特定のdbテーブルに書き込んでいます:
データはdbに書き込まれますが、turbogearsアプリケーションはdbに何らかのハンドルを保持しているため、そのdbテーブルを使用するメインアプリケーションはデータベースから読み取ることはできますが、変更することはできません。TurboGearsアプリケーションを停止してから、すべてが機能するまで。私は電話をかけようとしました:
しかし、その後、データはデータベースから魔法のように削除されました-おそらくトランザクションのロールバックです。私も電話をかけようとしました:
同様の効果がある(またはまったく効果がないかどうかはわかりません)
ターボギアでは、トランザクションマネージャー(repoze.tm)がコミットを処理することを読みましたが、理解できません-いつ呼び出されますか?どうすればそれを制御できますか?特に、関数がスケジュールされた実行を終了したときにdbハンドルを削除する方法(スクリプトを終了するだけではなく、1時間ごとに実行されるcronジョブです)。tg2.1ドキュメントはこの主題に関して非常に不明確です
また、commit_vetoをオーバーライドする必要がある場所を読みましたが、理解できませんでした。どのように、どこでそれを行う必要がありますか?アプリケーションのどこでtransaction.abort().doom()などを呼び出す必要がありますか?
トランザクションフックを使用して同じ関数も試しましたが、実際にフックを呼び出すことができませんでした
助けてくれてありがとう。
バージョンデータ:
- ターボギア2.1.3
- sqlalchemy 0.7
- mssql 2005
- pyodbcを使用してmssqlに接続する