問題タブ [django-middleware]
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.
django - DRYnessのDjangoURL構成
私のプロジェクトのほとんどのビューは、オプションのユーザー名パラメーターを受け入れ、存在する場合は、そのユーザーのテンプレートに渡されるクエリセットをフィルター処理します。したがって、たとえば:
インデックスビューは、次の両方のURLパターンを処理します。
このようなアプリケーションは多数あるため、パターンを複製して同じロジックを実装するのはそれほど難しいとは思えません。メインのurls.pyモジュールを再帰的に含めることができるかもしれないと思ったので、これを行いました。
私の推論は、他のurlsモジュールが含まれている場合、一致したパターンがパスから削除されるというものでした。だから、私はそれを望んでいました
になります
追加のusernameパラメーターを使用して、再帰的に含まれるurlsモジュールと一致する場合。しかし、これにより、要求が行われたときに開発サーバーがサイレントに停止しました。
私が考えることができる2番目のアプローチは、URLのパターンに一致するミドルウェアを作成し、表示されたユーザーをリクエストに追加し、ユーザー名に一致する部分をリクエストパスから削除することです。しかし、これは予測できない結果をもたらす可能性があるため、パスを台無しにしたくありません。
あなたは何をお勧めします?私は乾燥にうるさいですか?
ありがとう、oMat
python - Google App Engine で Rails スタイルの before_filter を行うにはどうすればよいですか?
アプリは、基本的な WSGI アプリケーションとしてセットアップされます。requestHandler が実行される前に関数を呼び出そうとしています。
Rails での before_filter の動作に非常によく似たものが欲しいです。
ありがとう。
django - AttributeError:'WSGIRequest'オブジェクトに属性'session'がありません
このエラーはランダムに発生し続け、django.wsgiファイルに触れると、数時間後に再び発生するように修正されます。私は何をすべきか迷っています。私のmiddleware_classesは次のとおりです。
「ifrequest.session」ステートメントを実行すると、Facebookミドルウェアで常にエラーが発生します。ありがとう
django - DjangoメッセージミドルウェアはAppEngineで動作しませんか?
Django App Engineプロジェクトにメッセージミドルウェアを実装しようとしていますが、次のようなエラーメッセージが表示されます。
リンクhttp://djangoadvent.com/1.2/messages-rest-us/をたどって実装しました。このミドルウェアをGoogleAppEngineで使用することはできませんか?もしそうなら、Google App EngineとDjangoで同じ機能を取得するための代替手段はありますか?
Google App Engineで実行するために必要な変更は何ですか?
提案してください。
前もって感謝します。
django - Djangoのミドルウェアからsettings.SITE_IDを変更しても安全ですか?
http://effbot.org/zone/django-multihost.htmで見つけた multihost.py ミドルウェアを変更して、settings.SITE_ID を動的に設定しましたが、予約を残したばかりかもしれないという懸念があります。
複数のドメイン ホスティングで見つけたほとんどの例は、それぞれの SITE_ID にハードコードされた複数の settings.py ファイルでセットアップされています。
ここに致命的な欠陥がある修正プログラムを作成しましたか? この値を動的に変更すると、a**.
興味深いことに、これはこれまでのところ稼働していますが、実際のトラフィックには耐えられませんでした。
django - Django - 読み取り専用データベースで sqlalchemy を使用する
私はDjangoを使用して、読み取りアクセスのみを持っている/したいOracleデータベースから統計などをうまく表示しています。データベースには複合主キーがあるため、私は Django の ORM レイヤーを使用しておらず、代わりに SQLAlchemy を使用しています。私が持っている唯一のインストールされたアプリは私自身のものであり、MIDDLEWARE_CLASSES
私が使用しているのはCommonMiddleware
.
これに基づいて、データベースにアクセスしてうまく機能する単一のアプリがあります。sqlalchemy エンジン、セッション、orm.mapper をすべて入れてから、セッションとマップされmodels.py
たviews.py
クラスをインポートするだけです。
ただし、今は 2 番目のアプリを作成したいと考えています。明らかに、models.py
1 つのアプリだけでなく、プロジェクト全体に適用されるように、より一般的な場所に移動する必要があります。
どこに置けばいいですか?非常に単純なセッション ミドルウェアを作成する必要がありますか? または、サーバーの起動時に一度だけ実行されるファイルがありますか? データベースに書き込むことはないので、すべてのリクエストが同じセッションに属するようにする必要がありますか?
プロジェクトベースのようなランダムファイルを作成connect.py
して、設定ファイルにインポートする必要がありますか?
現在、組み込みサーバーを使用していますが、おそらくapache + mod_wsgiをいつか使用する予定です。
python - djangoミドルウェアリダイレクト無限ループ
セッション値をチェックし、その値に応じてリダイレクトするミドルウェアがあります。私の問題は、無限のリダイレクト ループが作成されており、その理由がわかりません。
したがって、私がやりたいことは、表示されているセッションの値が yes であるかどうかを確認し、そうでない場合はユーザーをテスト ビューにリダイレクトすることです。
ここに私のミドルウェアがあります:
python - ミドルウェアを使用したローカライズからのDjangoアプリの除外
djangoプロジェクトをローカライズする必要がありますが、アプリケーションの1つ(ブログ)は英語のみにしてください。
これを実現するために、このミドルウェアを作成しました。
問題は、ミドルウェアがアプリケーションモジュール(例:blog / middleware.py)に直接存在してアプリ名を取得することを前提としていることです。他のプロジェクトでは、blog / middleware/delocalize.pyまたは他の何かにミドルウェアが含まれている可能性があります。
現在実行中のアプリの名前を取得するための最良の方法は何ですか?
django - 検索エンジンは、ローカライズされた Django サイトをどのように認識しますか?
ローカリゼーション ミドルウェアを gettext および trans/blocktrans テンプレート タグと組み合わせて使用し、ユーザー エージェント文字列の優先言語に応じて異なるページを訪問者に表示する Django サイトがあります (これは Django での標準的な方法のようです)。 .
これは、サポートされている言語でうまく機能します (現在、スペイン語、英語、ドイツ語のみで、さらに増える予定です)。ブラウザーの優先言語を別の言語に設定すると、その翻訳のページが表示されます。ただし、検索エンジンにどのように表示されるかはわかりません。
検索エンジンがサイトをクロールするとき、通常、エージェント文字列に優先言語が含まれていますか? ドイツのスパイダーはドイツ語のサイトを取得し、スペイン語のスパイダーはスペイン語のサイトを取得しますか? それとも、ユーザーが言語を設定していない場合に表示されるデフォルトの英語のサイトを取得するだけですか? これは検索エンジンによって異なりますか?また、個々のクローラーが固執する場合としない場合があることを行う「標準的な方法」はありますか?
django - Django: エラー: ImproperlyConfigured モジュールは " " クラスを定義していません
ImproperlyConfigured: ミドルウェア モジュール "report" は "ReportMiddleware" クラスを定義していません
しかし、私はこれを定義しましたが、おそらく間違った場所で定義したので、このクラスファイルをどこに配置すればよいでしょうか?