問題タブ [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 投票する
2 に答える
2447 参照

django - djangoの一般的なビューの問題(detailview、get_queryset)

一般的な見方は私たちの生活を楽にするために存在しますが、これらのものがどのように機能するかを理解するために費やされる時間は実際にはそれらを難しくします。たぶん私ですが、自分で簡単にビューを書いて先に進むことができるように、これを修正する方法を長い間考えようとしていましたが、私はそれを学ぶことを主張しました。

カスタムDetailViewクラスを表示したいのですが、コードは次のようにスローします。

'Sculpture' object has no attribute 'filter'

私はそれが1行の修正を必要とすることを知っています-せいぜい、しかし理解できませんでした。

そしてアイデア?

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

python - クラスベースのジェネリックビューを手動で呼び出す

現在、別のクラスベースのジェネリックビュー内からクラスベースのジェネリックビューを呼び出そうとしていますが、正しく実行できないようです。

私が試した方法:

プリント:<function CategoryTypes at 0x92bd924>

トレースバック:

ContentNotRenderedError at /crm/categories/company/ The response content must be rendered before it can be accessed.

プリント:None

別の観点からこれを呼び出すにはどうすればよいですか?私はクラスのすべてのメソッドとそれを呼び出す方法を真剣に試しました。

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

django - クラスベースの汎用ビューを持つ Django フォームプレフィックス

Django 1.3 の新しいクラスベースのジェネリック ビューでフォーム プレフィックス キーワードを設定するにはどうすればよいですか? プレフィックスを設定すると、レンダリングされた HTML で ID が重複するのを防ぎます。これは、フォーム APIについてここに文書化されています。

AJAX を使用していくつかの異なるフォームをロードしているため、タグの重複に関する問題が発生しています。

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

django - num_latestをクラスベースの日付ベースのジェネリックビューに置き換えますか?

日付ベースの一般的なビューのページ付けを取得するために、Django1.3に切り替えました。これは問題なく機能しますが、特定の数のアイテムが必要であるが、ページ付けされたくないページがあります。たとえば、最初の5つのニュースエントリを返します。

1.2では、最新のアイテムを取得するために情報辞書に入れることができるnum_latestがありました。これは、新しいクラスベースのジェネリックビューには存在しないようです。

paginate_byを5に設定し、テンプレートのページネーションリンクを使用しないようにすることもできますが、URLを手動でパンチすることで、古いエントリを表示できます(これは不要です)。さらに、使用しないページネーションをDjangoに設定させたくありません。

編集:これは私が現在使用しているurlconf行です:

さらに編集:get_dated_querysetをオーバーライドしようとしています上記のようにurlconfと組み合わせてこのコードを使用しましたが、次のような新しいビューを使用しました。

コメントで述べたのとほぼ同じエラーが発生します。スライスが取得されると、クエリを並べ替えることができません。

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

python - 古い関数ベースの汎用 CRUD ビューを新しいスタイルのクラスベースの汎用 CRUD ビューに変換する

私は自分のプロジェクトでかなり多くのことに Django の汎用 CRUD ビューを使用してきました。DJango 1.3 の新しいスタイルのクラスベースの汎用 CRUD ビューへの移行を開始したいと思います。ドキュメントが非常に役立つとは思いませんでしたが、関数ベースのビューの一部を変換するのに少し助けがありました。ここに私の見解の抜粋があります:

CreateView最初のものには aを、次のものにはa を使用すると思いますDeleteView。これは私がこれまでに思いついたものです:

同じクラスベースのビューを書き直す方法を教えてもらえますか? ちょっとしたジャンプスタートは大きな助けになるだろうし、そこからそれを引き継ぐことができると確信している.

ありがとう。

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

python - ミックスインを使用して、クラスベースの汎用ビューの作成と一覧表示を組み合わせることができますか?

ListとCreateをジェネリッククラスビューと機能的に組み合わせる最も簡単な方法を探しています。
アイテムリストと、下部に新しいアイテムを追加するためのフォームがあるページが欲しいのですが。

ミックスインアーキテクチャで必要なクラスを組み合わせることができると思いましたが、まだ運がありませんでした。

これはほとんど機能します:

ただしform、テンプレート内ではアクセスできず、無効な出力でクラッシュします(フォームが有効な場合は問題ありません)。
これは多重継承に関係しているかもしれませんが、私はまだPythonにあまり興味がないので、混乱しすぎます。

いくつかのミックスインをビューと作成ビューに組み合わせる簡単な方法はありますか、それとも自分でロールアウトする必要がありますか?

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

python - Django:CreateView fail_url

私は次のコードを持っていて、form_invalidメソッドがと同じページを返すようにしたいですsuccess_url。サブクラス化を検討してきましたがCreateView、世論を知りたいです。上記のことをどのように実現するのですか?

スルタン

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

django - djangoのクラスベースのジェネリックビューのユースケースは何ですか?

Facebook アプリを作成するための一般的なボイラー プレート コードを作成しようとしています。django の標準 contrib.user アプリの代わりに、別の FacebookUser クラスを作成しています。クラスベースの汎用ビューを使用してすべての oauth ステップを実際に記述することが、設計上の適切な決定になるかどうか疑問に思っています。クラスベースのジェネリックビューを使用するポイントは何ですか?なぜ、どこで使用する必要がありますか?

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

django - Djangoジェネリックビューにカスタムアップロードハンドラーをインストールするにはどうすればよいですか?

ファイルアップロードの進行状況のフィードバックを提供するには、特定のビューのカスタムアップロードハンドラーをインストールする必要があります。これは、次の「古典的な」Djangoビューについて文書化されています。

https://docs.djangoproject.com/en/dev/topics/http/file-uploads/#modifying-upload-handlers-on-the-fly

ただし、一般的なビューの場合、手順が見つからなかったため、次のことを思いつきました。

これは、タスクを実行するための「推奨される方法」ですか?セキュリティ面では大丈夫ですか?

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

django - Django汎用年アーカイブビューを拡張するには?

Django の一般的な年アーカイブ ビューを使用して、イベント オブジェクトを年ごとに表示しています。Django がオブジェクト リストを過去の年に制限していることがわかったので、これが最善の方法かもしれませんし、そうでないかもしれません。私の日付範囲は、現在の年から次の年にまたがっています。

これが私の見解です:

これが私のモデルのマネージャーです (event_date と呼ばれる DateField を持つ Event オブジェクト):

最後に、ビューの URL:

API にアクセスすると、期待どおりのイベントが発生します。しかし、YearArchiveView は、返されるイベントを指定した年に制限しているように見えます。これも想定内ですが、マネージャーで参照する範囲 (つまり、7 月 1 日から 6 月 30 日) にまたがってほしいと思います。

この動作を変更するにはどうすればよいですか? または、別のビュー (ListView) を試す必要がありますか?