2016-07-21 20 views
1

時々、私は何か正しいことをしているかどうかを見て苦労しています。ここで私のプロジェクトでクラスベースのビューを使用しています。これはdjangoクラスベースのビューの悪い使用ですか?

class View(View): 

    def get(self, request): 

     if request.GET.get('something'): 
      ...do something 

     elif request.GET.get('bar'): 
      ...do something 

    def post(self, request): 

     if request.POST.get('foo'): 
      ...do something 

     elif request.POST.get('bar'): 
      ...do something 

これはdjango-likeですか?

私は1つの視点でこれらをたくさん持っています。私はそれが何も得られない状況に遭遇したので、どのように捕まえるのか分かりませんでした。この状況で私は何をすべきですか?

答えて

2

POSTを使用してフォームを送信する場合、ビュー内のすべてのフィールドを検証する必要はありません。これはフォームクラスで行うことができます。 docsを確認してください。

+0

ああ、データを処理してビューで呼び出すフォームメソッドを作成できますか?あなたは何を得ているのですか? – deltaskelta

+0

はい、Formクラスを作成してそれを使ってデータを検証すると、 'Form.is_valid()'メソッドを呼び出すだけですべての魔法が発生します。 – Gocht

+0

おかげさまで、将来を知っておくと便利です。しかし、質問の私の主なポイントは、ポストで条件文の使用を回避することでした(それぞれが別の場所にユーザーを返す)これは私がそれを行うのに役立つのですか? – deltaskelta

1

POSTデータを処理するには、FormView、またはCreateViewまたはUpdateViewなどの「モデル編集」ビューを使用する必要があります。

+0

あなたが言っているのは、私のgetメソッドにはさまざまな条件があるはずですが、それぞれ異なる種類のビュー(適切なもの)にそれぞれポストする必要があります。 – deltaskelta

関連する問題