問題タブ [django-class-based-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 に答える
300 参照

django - Django でクラス ビューに変更する際の問題

アップグレード後に Django でクラスベースのビューに変更しようとしていますが、これに関して 2 つの質問があります。これは私のコードで、簡略化されています:

これを実行すると、最初にエラーが発生しますname 'SearchView' is not defined。誰かが理由を知っていますか?

私が追加したものをスキップしようとしていますが、from project.app.views import SearchViewこれは醜く、私が望んでいる方法ではありませんが、残りを機能させることができるかどうかを確認しようとしています. それから私global name 'request' is not definedmessages. これは理にかなっていますが、ここでリクエストオブジェクトを取得するにはどうすればよいですか?

だから私は知りたい: ビューを意図したとおりに動作させるにはどうすればよいですか? でメッセージを使用する方法はget_context_data()?

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

django - ListView を拡張するカスタム C ベースのビューで django-endless-pagination を使用する

django-endless-paginationのドキュメントを読むと、 @page_template() デコレーターを使用するだけで、Ajaxページング機能をクラスベースのビューに拡張できると書かれています... :

ビュー関数はエラーを出力しませんが、別のページに移動すると、デコレーターで定義されたテンプレートではなく、ターゲットに「global_template」が読み込まれます。

この実装が実際に機能するかどうかを誰かが知っていて、私が間違いを犯している場合は、指摘してください。正しい方法で使用できれば幸いです。

私はなんとか回避策を思いついたので、誰かがこの同じ問題を抱えていて、これに対する準拠した回答がない場合は、これを行うことができます:

乾杯!

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

django - Django フォーム: 継承されたモデルの作成/更新フォームを整理するための最も DRY な方法

次のような 2 つのマルチテーブル継承モデルがあります。

同様に、BlogPost のフォーム クラスも PostForm クラスを継承しています。

以前は、2 つの非クラスベースのビューで両方のモデルの作成/更新を処理していました。DRY にするために、Django のクラスベースのジェネリック ビューを試してみることにしました。しかし、例がなく、関連するドキュメントやさまざまなアプローチのユーザーの不親切さのために、私は混乱しています。

アイデアは、Postモデルのクラス ベースのフォーム ビューを持ち、BlogPost. ビュークラスをどのように調整すればよいですか?

PostCreate ビューと PostUpdate ビューを別々にする必要がありますか? その場合、2 つのクラスはほぼ同一であり、DRY ではありません。

FormView投稿の更新と作成の両方に単一のものを使用する必要がありますか? 作成には機能しますが、更新のためにこれを行う方法がわかりませんでした。

ビューから直接継承するのではなく、提供された mixin クラスを使用してカスタム ビュー (または作成/更新用の 2 つのビュー) を構築する必要がありますか?

0 投票する
4 に答える
22021 参照

python - CreateViewでForeignKeyを設定するにはどうすればよいですか?

私はモデルを持っています:

author新しいモデルインスタンスを作成し、外部キーをに設定するクラスベースのビューを作成するにはどうすればよいrequest.userですか?

アップデート:

ソリューションは、以下の別の回答に移動しました。

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

django - Django の RedirectView を更新できません。ステータスが 301 Moved Permenantly の古い URL を参照し続けます

この質問が Server Vault にあるはずだった場合は申し訳ありません。プログラミング エラーなのかサーバー構成エラーなのか、はっきりとはわかりませんでした。

最近、自分の git コミットをライブ サーバーにプッシュしましたが、非常にイライラすることに気付きました。

どのように を編集してもurls.py、 を更新できないようですRedirectView

ここに私のルーツがありますmysite/urls.py

名前付き URLorder_listは、私のアプリのいずれかから取得されますurls.py

したがって、基本的には、最後のコミットでに変更r'^orders/$'しただけです。r'^order/$'しかし、いつでも、サーバーがではなく の古いパス{% url home %}にリダイレクトしようとしていることに気付きました。また、リダイレクトが./doors/orders//doors/order/301 Moved Permanently

そこで、サーバーに追加permenant=Falseして再起動しようとしました。RedirectViewしかし、それはまだ行き/doors/orders/、リダイレクトはまだです301(だったはず302です)!

RedirectView更新された URLにリダイレクトされないのはなぜですか?


サーバー情報

Gentoo Linux 上の Django 1.4 で mod_wsgi を使用して Apache 2.2.21 を実行する

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

django - DeleteObject汎用ビューでオブジェクトを削除した後、親にリダイレクトします

BookとPageの2つのモデルがあるとしましょう。

ページを削除して、そのページが属していた特定の本にリダイレクトする必要があります。これを実現するために、クラスベースのビューを作成してページを削除します。

問題は、get_success_urlが呼び出される前にオブジェクトが削除されるため、このメソッドが失敗し、404エラーが発生することです。

どうすればいいですか?

アップデート:

@DrTyrsaのアイデアに従って、deleteメソッドをオーバーライドすることを実現したので、クラスは次のようになります。

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

django - URLConf: ユーザーのアクセス許可に基づいて汎用ビューへのアクセスを制限する - URL パラメーターの検査

良い一日、

私の URLConf には次のものがあります。

そのため、認証されたユーザーのみが URL を介してビュー機能にアクセスできます。

質問: 一般的なビューをサブクラス化する以外に、URL に埋め込まれた pk を検査する方法はありますか? 更新機能にアクセスしようとしているユーザーが必要な権限を持っていることをさらに検証したいと思います。

ドキュメントにはこの詳細は記載されておらず、他の参照を見つけるのに苦労しています。

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

django - 画像のアップロードとCreateViewベースのビュー

CreateViewとModelFormを使用して画像ファイルをアップロードできるようにしたいのですが、機能させることができません。ファイルを選択した後、フォームがファイルデータをバインドしないようです。ビューの現在のコンテンツは次のとおりです。

誰か助けてもらえますか?クラスベースの画像アップロードビューの簡単な例をいただければ幸いです。

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

django - Saving modelform data from a formview in django

So I'm new to django and I'm struggling with the documentation for class based views. Not really sure what I'm doing wrong here, but this is the problem:

I fill in the appropriate data on the form, click submit and I'm redirected to the same url plus some get parameters that correspond to what I submitted in the form. Nothing new is added to the db. I would like to create a new Advertisement row in the db when I click submit.

I have a ModelForm as follows:

I also have a FormView:

And here's the template: