問題タブ [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.

0 投票する
1 に答える
268 参照

django - データをミドルウェアに渡す

私は私のためにいくつかの仕事をするミドルウェアを持っています。レンダリングされるテンプレートに関して、このミドルウェアにデータを渡すことは可能ですか?

私がURLを持っていると仮定しましょう:

ミドルウェアに値を渡したいと思います。出来ますか?

0 投票する
2 に答える
2833 参照

django - Django ミドルウェアと HttpRequest の変更

受信リクエストごとに計算/チェックを行うミドルウェアがあります。一部のビューには、この計算結果が必要です。

同じコードを二度呼び出したくないので、結果をミドルウェアの HttpRequest に入れておきたいので、view が読み込めるようにします。

HttpRequest にオブジェクトを追加する方法を教えてください。

ありがとう

0 投票する
2 に答える
3598 参照

django - Django モバイルおよびフル サイト リダイレクト

Google でしばらく検索しましたが、探しているものを正確に見つけることができませんでした。ここで皆さんに質問することにしました。

サイトの完全版とモバイル版 (1 ページの jQuery Mobile ファイル) があります。

理論的には、可能なモバイル デバイスの着信要求をチェックし (既にこれを実行できます)、モバイル サイトにリダイレクトしたいと考えています。モバイル サイトでは、ユーザーは Cookie を設定する完全なサイトへのリンクをクリックすることができ、そのユーザーをモバイル サイトにリダイレクトすることはありません (デバイスでのすべての要求でその条件が満たされるとしても)。

私が見つけたのは、モバイル/デスクトップ デバイスのすべてのリクエストを確認し、それに応じてテンプレートを変更する方法についてです。これは、この状況で私がする必要があることではありません。これは、モバイル版とデスクトップ版でまったく異なるテンプレートです。

この状況で役立つアイデアや解決策はありますか?

更新 1:

だから私はこれを実装しようとしましたが、奇妙な問題/問題が発生しています。これが私のミドルウェアです(設定のミドルウェアリストの最後にリストされています)

jQuery Mobile で完全なサイト リンクをクリックしたときに処理するビューを次に示します。

私の頭では、これはうまくいくはずですが、そうではありません。リンクから mobile_fullsite ビューにヒットし、URL が .../mobile/ から .../fullsite/ に変更されますが、リダイレクトされたページからのものを含む jQuery モバイルのように見えます。

何か案は?

0 投票する
2 に答える
223 参照

django - 同じ「セッション」、ターンベースのdjangoゲームを表示する

この種の拡散質問がここに適しているかどうかは本当にわかりませんが、とにかくやってみます。

私はDjangoでターンベースの(Yatzee)ゲームを構築しています。ここでは、ユーザー/プレーヤー用のラリーシンプルモデルと、各ユーザースコアボード用のもう少し複雑なモデルがあります。

新しいゲームは、基本的にスコアごとに1つずつ、いくつかのintフィールドとbooleanフィールドで構成される新しいスコアボードを生成します(たとえば、2ペアを取得した場合、スコアと'割り当て済み'として設定するフィールド)

問題は、このアプローチでは、各ターンの後にスコアをdb(sqlite)に保存することで、ゲームを「一時停止」して後で続行できるようになるということです。

どこから探し始めるかを実際に知らずに、今私が調べ始めたいのは、2つ以上のプレイでゲームをWeb上で「ホスト」する方法です。それらがすべて同じコンピューターに座っている場合、JavaScriptを使用してプレーヤー/スコアボードの数を制御できるため、問題はありません。

これを達成するために、私は「togheter」に属するスコアボードをセッションに割り当てるという観点から考えていますが、これをどのように、どこで行うかは、現時点では私の範囲外です。

Djangoミドルウェアについて少し読んだことがありますが、モデルレイヤーから解決しようとするよりも、それがより良い方法であるかどうかを実際に理解することはできません(これは信じられないほど難しいでしょう..?)。

0 投票する
6 に答える
30259 参照

python - Django:WSGIRequest'オブジェクトには、一部のページに属性' user'がありませんか?

ユーザーがログインしているかどうかにかかわらず、Cookieを設定したい。

私のミドルウェア:

MIDDLEWARE_CLASSES最後にsettings.pyに追加されました。

問題:

  • エラー:「WSGIRequest」オブジェクトに属性「user」がありません
  • なぜ、認証ミドルウェアとセッションミドルウェアがすでにアクティブになっているのですか?
  • また、一部のページはスムーズに機能していますが、一部のページではこのエラーが発生しています。
  • 私は何を間違っているのですか?
0 投票する
2 に答える
1209 参照

django - Django 1.4 LocaleMiddlewareはApacheでは機能しませんが、runserverでは機能します

私のプロジェクトには次のミドルウェア設定があります。

ローカル開発でlocal_settings.pyは、ミドルウェア設定を次のように再定義するモジュールをセットアップします。

ここでは、開発のために、キャッシュ関連のミドルウェアを削除しています。

私のApacheデプロイでは、(to )とdictをlocal_settings.py再定義するだけです。DEBUGFalseDATABASES

プロジェクトの本番仮想環境(Apacheサーバーが使用する仮想環境)にIPythonをインストールして、これを実行しました。

httpp://mysite.com/en/myview/しかし、これにもかかわらず、を使用するURLにアクセスするには、URLに言語識別子を(として)入力する必要がありますfrom django.conf.urls.i18n.i18n_patterns。そして、の機能の1つはdjango.middleware.locale.LocaleMiddleware、言語コードプレフィックスなしでローカライズされたビューにアクセスするときに、ユーザーエージェントヘッダーからそれを推測し、プレフィックス付きのビューにリダイレクトすることを正確に行うことです。

何が起こっているのかをデバッグする方法は?

0 投票する
1 に答える
1004 参照

c# - ASP MVCで同等のdjangoミドルウェアとは何ですか?

基本的に、リクエストごとにViewData/ViewBagにデータを挿入したいと思います。

0 投票する
1 に答える
572 参照

python - django admin (キャッシング、python/django) でページのコンテンツを変更するとブラウザが遅延する

django のプロジェクトで魔女のキャッシングに少し奇妙な問題があります。

django-admin でページ コンテンツを編集できます。それを行ってサイトを更新すると、何も起こりません。変更には数分待たなければなりません。おもしろいことに、ブラウザー (またはコンピューター) を変更すると、待つ必要はありません。変更がオンになっています。それはdjango、ブラウザ、または何の問題ですか?変更をすぐに取得するように setting.py を設定することは可能ですか?

ちなみに、「django.middleware.cache.FetchFromCacheMiddleware」をオフにすると、問題は消えますが、キャッシュをオフにしたくない...

何か案は?

0 投票する
1 に答える
5282 参照

django - RequestContextにもかかわらずDjangoメッセージングフレームワークがメッセージを表示しない

ここにあなたのための難問があります、

Django 1.4を使用すると、メッセージミドルウェアを介して設定されたメッセージをテンプレートに表示できません。Djangoのドキュメントを調べて、settings.pyファイルが関連するアプリ、コンテキストプロセッサ、ミドルウェアを参照していることを確認しました。ビューがRequestContextインスタンスでレンダリングされていることを確認しました。 それでも、テンプレートに表示されるメッセージを取得できません。

settings.py:

私のメッセージerror_levelは20に設定されています(つまり、「info」以上)。デフォルトのマッピングを使用しています。

views.py:

テンプレート:(funkyjazzdirectory / index.html)

{{msg}}を次のように置き換えてみました。

成功しませんでした。

ページの残りの部分は正常に出力され、Djangoはエラーをスローしません。コンソールには異常なものは何も含まれていません。生成されたHTMLコードには、divもlistタグも含まれていません。これが拡張するテンプレート(base.html)は、{{messages}}変数を使用せず、それを使用するテンプレートタグを呼び出しません。

index.htmlテンプレートの上部でテストするために、{{messages}}をカスタムテンプレートタグに渡してみました。ここで私ができること:

...おそらくメッセージオブジェクトのメソッド/プロパティのリストを生成します。それでも、「メッセージ内のm:」は一度も実行されないため、これを繰り返すことはできません。次の方法でこのエンティティのサイズを検出しようとしています。

コンソールには何も表示されません。

実際に何かを出力できるのは、render_to_responseタグ内のテンプレートにmessagesオブジェクトを手動で渡してから、messages.error({%for msg in messages.error%})を繰り返して2つの箇条書きを生成したときだけでした。正しいdivで:最初はvarダンプのように見えるもので埋められます: "、POST:、COOKIES:{'csrftoken':" ...最後のエラーメッセージだけを含む2番目の箇条書き: "なぜこれをしないのですか? f *** ing事は動作しますか?」(明らかに、これは単なるテストであり、コンテキストを介してテンプレートに到着する必要があることがわかっているため、render_to_responseを介して渡されたdictにメッセージを保持していません)

それで、私はどこで間違ったのですか?

テンプレートにエラーメッセージが表示されないのはなぜですか?メッセージをコンソールに表示することさえできないのはなぜですか?

私より賢い人が落とすことができるどんな光でも非常に役に立ちます!

0 投票する
1 に答える
3543 参照

django - ミドルウェア: process_request でモデルを使用し、process_response でそれを変更する

process_responseの後にDjangoは応答を平坦化しますか?

私はこのモデルを持っています(簡略版):

およびミドルウェア (簡略化):

最初のケースでは、4 番目のリクエストで禁止ページを取得しました。

2 番目のケースでは、3 番目のリクエストで禁止ページを取得しました。

そして、この2番目のケースは私が望む方法です。適切にフローするために、最初にモデルを文字列化する必要があるのはなぜですか? 私が誤解したことは何ですか?


編集

問題が見つかりました。実際のコードでは、django.contrib.auth.models.User に外部キーを使用し、関連するユーザーのユーザー名でチケット モデルをユニコーディングします。