問題タブ [django-generic-views]

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 に答える
536 参照

inheritance - Djangoでのジェネリックビューの継承

問題は、URLから親クラスビューにkwargsを渡す方法です。

urls.py

views.py

ファーストクラス__init__メソッドを見ください

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

django - django は、ForeignKey 関連モデルの個別の「子」のリストを取得します (そして、テンプレートでこれを行いますか?)

リリースされた音楽アルバムのデータベースを作成しています

models.py

私のテンプレート(現時点では汎用ビューを使用しています)には、次のものがあります。

問題は、アルバムが同じカバー アートで複数回リリースされている場合があることです。その場合、関連するリリースをリストするテキストとともに、画像を 1 回だけ表示したいと考えています。

私はもう試した:

または、より単純なケースでは、画像が複数ある場合は、少なくとも画像を小さく表示したいと思います。

この ForeignKey ルックアップを逆にして、関連するオブジェクトのリストを取得し、それらの子のセットを要求することは可能ですか? 私が考えることができる唯一の方法は、ビューでいくつかのタプル/リストを組み立てることです。

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

python - Django コーディング スタイル: ここでクラス デコレータを使用する必要がありますか?

私はこの Django のこと全体に慣れていないので、古い関数ベースの Generics ではなく、ClassBased GenericViews から始めることにしました。とにかく、これまでのところ、GenericViews が本当に好きで、デコレータで拡張してきました。

私がやっていることの簡単な例

ideapad/urls.py

ideapad/views.py

sauce/decorators.py

私の質問は、全体的な読みやすさと保守性の問題として、これを行うための「より良い」または「より受け入れられる」方法はありますか? それともコーディングスタイルの好みですか?

私が尋ねる理由は、この方法の方が読みやすいと思いますが、いつかこれでお金を稼ぎたいと思っており、同僚を怒らせるような奇妙なコーディングの習慣を身につけたくないので、コーディング スタイルは高く評価されます。ありがとう。

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

django - クラスベースの汎用ビューで RequestContext にアクセスするには?

urls.py に次のパスがあります。

ページが現在のものであるかどうかをテンプレートで検出したいと思います(これはメニューのスタイル設定のためです)。どちら {{ request.path }}{{ request.get_full_path }}テンプレートで動作しません。

代わりに何を使用すればよいですか?

解決

テンプレートで利用できるようrequestにするには、 に追加django.core.context_processors.requestする必要がありましたTEMPLATE_CONTEXT_PROCESSORS。これはデフォルトでは設定されていません (django 1.3 以降)。

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

python - Django の update_object 汎用ビューは安全ですか? セキュリティのために拡張するか、独自に作成する必要がありますか?

私はDjangoが初めてです。昨夜、私は現在のプロジェクトのエンティティを編集できるようにするビューに懸命に取り組みました。チャプター、ストーリー、ワールド。どのデータベース オブジェクトが変更されているかを正確に把握するために、ハッシュ、編集中のオブジェクトのタイプ (「チャプター」など)、およびその ID を格納するデータベース エントリをテーブル「edits」に追加しました。データベースで見つかったオブジェクト。ハッシュは非表示の入力としてフォームに追加されます。

バックエンドでは、フォームが送信された後、ハッシュを取得し、それを使用してデータベース内の関連する編集項目を見つけます。次に、これを使用して、最初に編集されていたオブジェクトを見つけます。これは、次の 2 つの理由で行われました。

  1. どのオブジェクトが本当に編集されているかを知ることができます。すべてのフォーム項目が変更された場合、どのオブジェクトが編集されているかを実際に知るために (URL を除いて) 比較するものは何もありません。

  2. ユーザーがフロントエンドをハッキングして、間違ったストーリーを変更するなどの奇妙なことを実行できないようにする必要があります。

今日、Django には と呼ばれる一般的なビューがあることを発見しましたupdate_object。これは私にとって多くのことを処理しているようです。しかし、データベースを自動的に使用して正しいオブジェクトが編集されていることを確認したり、どのオブジェクトが編集されているかを判別したりしない場合、これは安全でしょうか? HTML 要素を変更することで、フロント エンドでハッキングする簡単な方法が必ずあるはずです。

第二に、これが懸念される場合は、独自の編集ビューを保持するか、update_object ビューを拡張するか、またはその他の解決策をお勧めしますか?

最後に、私はこれを正しい方法で行っていますか? この問題の解決策を正しく考えていない場合は、修正してください。

これがコードを必要とする質問だとは思いません。Django に関連するフォームのセキュリティに関する一般的な質問です。

ありがとう、

パラゴンRG

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

django - 一般的な get_context_data のジェネリック ビュー クラスの拡張

多くのビューのコンテキストに、同じ追加の変数を追加しなければならないことが常にあります。

私は自分自身を繰り返すのが好きではないので、ビューを拡張する新しいクラスを作成し、すべてのビューを新しい拡張ビュー クラスに基づいて作成できると考えました。つまり、私が使用するビューには、CreateView、UpdateView、ListView、および DeleteView の 4 つのクラスがあります。それらのそれぞれに対して新しいクラスを作成する必要がありますか?

Djangoの「ベース」ビュークラスのようなものはありませんか? これを行うためのよりスマートな方法はありますか?

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

python - Django - クラスベースの FormView で引数をキャッチする

私のページでは、投稿の詳細と、視聴者がコメントを投稿するためのコメントフォームを表示する必要があります。2 つの一般的なビューを作成しました。

コメントに投稿の ID を指定していないため、AddCommentView でエラーが発生します。AddCommentView で post_id にアクセスするにはどうすればよいですか?

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

python - FormView: ビューが HttpResponse オブジェクトを返さなかった

HttpResponseこれは、明らかにを返さないコード パスがビューにある場合に発生することがわかっています。私はdjangoを初めて使用するので、これは完全に間違っている可能性があります。

FormView コードは次のとおりです。オーバーライドする必要がありますrender_to_responseか?

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

django - Generic View list_detail で使用する Django テンプレート URL 変数を修正

なんらかの理由で、テンプレートを適切にレンダリングするために url テンプレート タグで使用する正しい変数を見つけるのに苦労しています。

私の {% url ??? %} 変数は、このfirm_index.html テンプレートをレンダリングしますか?

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

python - Django 汎用ビュー - プロジェクト テンプレートへのデータの送信

アプリから一般的なビューでデータを送信しようとしています

ただし、このクエリではデータを ic/p で送信できず、結果が返されます。何が欠けていますか?

mysite/templates/index.html で

何も印刷しない