問題タブ [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.
django - Django でクラス ビューに変更する際の問題
アップグレード後に Django でクラスベースのビューに変更しようとしていますが、これに関して 2 つの質問があります。これは私のコードで、簡略化されています:
これを実行すると、最初にエラーが発生しますname 'SearchView' is not defined
。誰かが理由を知っていますか?
私が追加したものをスキップしようとしていますが、from project.app.views import SearchView
これは醜く、私が望んでいる方法ではありませんが、残りを機能させることができるかどうかを確認しようとしています. それから私global name 'request' is not defined
はmessages
. これは理にかなっていますが、ここでリクエストオブジェクトを取得するにはどうすればよいですか?
だから私は知りたい: ビューを意図したとおりに動作させるにはどうすればよいですか? でメッセージを使用する方法はget_context_data()
?
django - ListView を拡張するカスタム C ベースのビューで django-endless-pagination を使用する
django-endless-paginationのドキュメントを読むと、 @page_template() デコレーターを使用するだけで、Ajaxページング機能をクラスベースのビューに拡張できると書かれています... :
ビュー関数はエラーを出力しませんが、別のページに移動すると、デコレーターで定義されたテンプレートではなく、ターゲットに「global_template」が読み込まれます。
この実装が実際に機能するかどうかを誰かが知っていて、私が間違いを犯している場合は、指摘してください。正しい方法で使用できれば幸いです。
私はなんとか回避策を思いついたので、誰かがこの同じ問題を抱えていて、これに対する準拠した回答がない場合は、これを行うことができます:
乾杯!
django - Django フォーム: 継承されたモデルの作成/更新フォームを整理するための最も DRY な方法
次のような 2 つのマルチテーブル継承モデルがあります。
同様に、BlogPost のフォーム クラスも PostForm クラスを継承しています。
以前は、2 つの非クラスベースのビューで両方のモデルの作成/更新を処理していました。DRY にするために、Django のクラスベースのジェネリック ビューを試してみることにしました。しかし、例がなく、関連するドキュメントやさまざまなアプローチのユーザーの不親切さのために、私は混乱しています。
アイデアは、Post
モデルのクラス ベースのフォーム ビューを持ち、BlogPost
. ビュークラスをどのように調整すればよいですか?
PostCreate ビューと PostUpdate ビューを別々にする必要がありますか? その場合、2 つのクラスはほぼ同一であり、DRY ではありません。
FormView
投稿の更新と作成の両方に単一のものを使用する必要がありますか? 作成には機能しますが、更新のためにこれを行う方法がわかりませんでした。
ビューから直接継承するのではなく、提供された mixin クラスを使用してカスタム ビュー (または作成/更新用の 2 つのビュー) を構築する必要がありますか?
python - CreateViewでForeignKeyを設定するにはどうすればよいですか?
私はモデルを持っています:
author
新しいモデルインスタンスを作成し、外部キーをに設定するクラスベースのビューを作成するにはどうすればよいrequest.user
ですか?
アップデート:
ソリューションは、以下の別の回答に移動しました。
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 を実行する
django - DeleteObject汎用ビューでオブジェクトを削除した後、親にリダイレクトします
BookとPageの2つのモデルがあるとしましょう。
ページを削除して、そのページが属していた特定の本にリダイレクトする必要があります。これを実現するために、クラスベースのビューを作成してページを削除します。
問題は、get_success_urlが呼び出される前にオブジェクトが削除されるため、このメソッドが失敗し、404エラーが発生することです。
どうすればいいですか?
アップデート:
@DrTyrsaのアイデアに従って、deleteメソッドをオーバーライドすることを実現したので、クラスは次のようになります。
django - URLConf: ユーザーのアクセス許可に基づいて汎用ビューへのアクセスを制限する - URL パラメーターの検査
良い一日、
私の URLConf には次のものがあります。
そのため、認証されたユーザーのみが URL を介してビュー機能にアクセスできます。
質問: 一般的なビューをサブクラス化する以外に、URL に埋め込まれた pk を検査する方法はありますか? 更新機能にアクセスしようとしているユーザーが必要な権限を持っていることをさらに検証したいと思います。
ドキュメントにはこの詳細は記載されておらず、他の参照を見つけるのに苦労しています。
django - 画像のアップロードとCreateViewベースのビュー
CreateViewとModelFormを使用して画像ファイルをアップロードできるようにしたいのですが、機能させることができません。ファイルを選択した後、フォームがファイルデータをバインドしないようです。ビューの現在のコンテンツは次のとおりです。
誰か助けてもらえますか?クラスベースの画像アップロードビューの簡単な例をいただければ幸いです。
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: