問題タブ [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.
inheritance - Djangoでのジェネリックビューの継承
問題は、URLから親クラスビューにkwargsを渡す方法です。
urls.py
views.py
ファーストクラス__init__メソッドを見てください。
django - django は、ForeignKey 関連モデルの個別の「子」のリストを取得します (そして、テンプレートでこれを行いますか?)
リリースされた音楽アルバムのデータベースを作成しています
models.py
私のテンプレート(現時点では汎用ビューを使用しています)には、次のものがあります。
問題は、アルバムが同じカバー アートで複数回リリースされている場合があることです。その場合、関連するリリースをリストするテキストとともに、画像を 1 回だけ表示したいと考えています。
私はもう試した:
または、より単純なケースでは、画像が複数ある場合は、少なくとも画像を小さく表示したいと思います。
この ForeignKey ルックアップを逆にして、関連するオブジェクトのリストを取得し、それらの子のセットを要求することは可能ですか? 私が考えることができる唯一の方法は、ビューでいくつかのタプル/リストを組み立てることです。
python - Django コーディング スタイル: ここでクラス デコレータを使用する必要がありますか?
私はこの Django のこと全体に慣れていないので、古い関数ベースの Generics ではなく、ClassBased GenericViews から始めることにしました。とにかく、これまでのところ、GenericViews が本当に好きで、デコレータで拡張してきました。
私がやっていることの簡単な例
ideapad/urls.py
ideapad/views.py
sauce/decorators.py
私の質問は、全体的な読みやすさと保守性の問題として、これを行うための「より良い」または「より受け入れられる」方法はありますか? それともコーディングスタイルの好みですか?
私が尋ねる理由は、この方法の方が読みやすいと思いますが、いつかこれでお金を稼ぎたいと思っており、同僚を怒らせるような奇妙なコーディングの習慣を身につけたくないので、コーディング スタイルは高く評価されます。ありがとう。
django - クラスベースの汎用ビューで RequestContext にアクセスするには?
urls.py に次のパスがあります。
ページが現在のものであるかどうかをテンプレートで検出したいと思います(これはメニューのスタイル設定のためです)。どちら {{ request.path }}
も{{ request.get_full_path }}
テンプレートで動作しません。
代わりに何を使用すればよいですか?
解決
テンプレートで利用できるようrequest
にするには、 に追加django.core.context_processors.request
する必要がありましたTEMPLATE_CONTEXT_PROCESSORS
。これはデフォルトでは設定されていません (django 1.3 以降)。
python - Django の update_object 汎用ビューは安全ですか? セキュリティのために拡張するか、独自に作成する必要がありますか?
私はDjangoが初めてです。昨夜、私は現在のプロジェクトのエンティティを編集できるようにするビューに懸命に取り組みました。チャプター、ストーリー、ワールド。どのデータベース オブジェクトが変更されているかを正確に把握するために、ハッシュ、編集中のオブジェクトのタイプ (「チャプター」など)、およびその ID を格納するデータベース エントリをテーブル「edits」に追加しました。データベースで見つかったオブジェクト。ハッシュは非表示の入力としてフォームに追加されます。
バックエンドでは、フォームが送信された後、ハッシュを取得し、それを使用してデータベース内の関連する編集項目を見つけます。次に、これを使用して、最初に編集されていたオブジェクトを見つけます。これは、次の 2 つの理由で行われました。
どのオブジェクトが本当に編集されているかを知ることができます。すべてのフォーム項目が変更された場合、どのオブジェクトが編集されているかを実際に知るために (URL を除いて) 比較するものは何もありません。
ユーザーがフロントエンドをハッキングして、間違ったストーリーを変更するなどの奇妙なことを実行できないようにする必要があります。
今日、Django には と呼ばれる一般的なビューがあることを発見しましたupdate_object
。これは私にとって多くのことを処理しているようです。しかし、データベースを自動的に使用して正しいオブジェクトが編集されていることを確認したり、どのオブジェクトが編集されているかを判別したりしない場合、これは安全でしょうか? HTML 要素を変更することで、フロント エンドでハッキングする簡単な方法が必ずあるはずです。
第二に、これが懸念される場合は、独自の編集ビューを保持するか、update_object ビューを拡張するか、またはその他の解決策をお勧めしますか?
最後に、私はこれを正しい方法で行っていますか? この問題の解決策を正しく考えていない場合は、修正してください。
これがコードを必要とする質問だとは思いません。Django に関連するフォームのセキュリティに関する一般的な質問です。
ありがとう、
パラゴンRG
django - 一般的な get_context_data のジェネリック ビュー クラスの拡張
多くのビューのコンテキストに、同じ追加の変数を追加しなければならないことが常にあります。
私は自分自身を繰り返すのが好きではないので、ビューを拡張する新しいクラスを作成し、すべてのビューを新しい拡張ビュー クラスに基づいて作成できると考えました。つまり、私が使用するビューには、CreateView、UpdateView、ListView、および DeleteView の 4 つのクラスがあります。それらのそれぞれに対して新しいクラスを作成する必要がありますか?
Djangoの「ベース」ビュークラスのようなものはありませんか? これを行うためのよりスマートな方法はありますか?
python - Django - クラスベースの FormView で引数をキャッチする
私のページでは、投稿の詳細と、視聴者がコメントを投稿するためのコメントフォームを表示する必要があります。2 つの一般的なビューを作成しました。
コメントに投稿の ID を指定していないため、AddCommentView でエラーが発生します。AddCommentView で post_id にアクセスするにはどうすればよいですか?
python - FormView: ビューが HttpResponse オブジェクトを返さなかった
HttpResponse
これは、明らかにを返さないコード パスがビューにある場合に発生することがわかっています。私はdjangoを初めて使用するので、これは完全に間違っている可能性があります。
FormView コードは次のとおりです。オーバーライドする必要がありますrender_to_response
か?
django - Generic View list_detail で使用する Django テンプレート URL 変数を修正
なんらかの理由で、テンプレートを適切にレンダリングするために url テンプレート タグで使用する正しい変数を見つけるのに苦労しています。
私の {% url ??? %} 変数は、このfirm_index.html テンプレートをレンダリングしますか?
python - Django 汎用ビュー - プロジェクト テンプレートへのデータの送信
アプリから一般的なビューでデータを送信しようとしています
ただし、このクエリではデータを ic/p で送信できず、結果が返されます。何が欠けていますか?
mysite/templates/index.html で
何も印刷しない