Python歴一か月
仮に
- ToDoリストのタスク完了画面を想定
- ブラウザの一つの画面から3つのボタンが用意されてる。
- ボタン3つ処理が異なる。
1つめのボタン
選択された完了タスクをToDoリストに戻す。
2つめのボタン
選択された完了タスクをDB上から削除。
3つめのボタン
完了タスクをすべてDBから削除
現在のコード
class task_end(TemplateView): """ タスク完了画面""" def get(self,request): ~~~省略~~~ def post(self, request): """各POSTからのボタンに対する処理""" # 完了したタスクを ToDoリストに戻す if 'task_in' in request.POST: tasks = task.objects.get(id=request.POST['id']) tasks.status = False tasks.save() # 完了したタスクを1件をDBから削除 elif 'task_delete' in request.POST: tasks = task.objects.get(id=request.POST['id']) tasks.delete() # 完了したタスクのリスト全てを削除 elif 'task_all_delete' in request.POST: tasks = task.objects.all().filter(users=request.session['u_s_id'], status=True) tasks.delete() return redirect('task_end')
この場合ブラウザからのPOST処理に対して、if文で処理を分岐しています。
実際ブラックボックスで動かすと問題はないのですが、本当にこのような分岐方法でいいのか?
他に間違いなくいい方法があると思います。
もしよろしければアドバイス等よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。