質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

729閲覧

この関数ベースのviewをクラスベースのviewにしてください       m_(-_-)_m

yusei59

総合スコア3

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/16 00:24

編集2021/05/22 12:33

kenken-python.com
このページの一番最後を見ているのですが、関数ベースのviewしかのってなくて、クラスベースで作りたいのですがうまくいきません。

そのページにあったコード↓

django

1 2from django.shortcuts import render,redirect,get_object_or_404 3from .models import CheckBox 4from .forms import CheckBoxCreateForm 5 6# Create your views here. 7 8 9def update(request, pk): 10 req = request.POST.copy() 11 checkbox = get_object_or_404(CheckBox, pk=pk) 12 13 checkbox_1 = request.POST.getlist('checkbox_1') 14 checkbox_2 = request.POST.getlist('checkbox_2') 15 checkbox_3 = request.POST.getlist('checkbox_3') 16 17 if checkbox_1: 18 req.update({'checkbox_1':'checked'}) 19 else: 20 req.update({'checkbox_1':'unchecked'}) 21 22 if checkbox_2: 23 req.update({'checkbox_2':'checked'}) 24 else: 25 req.update({'checkbox_2':'unchecked'}) 26 27 if checkbox_3: 28 req.update({'checkbox_3':'checked'}) 29 else: 30 req.update({'checkbox_3':'unchecked'}) 31 32 33 form = CheckBoxCreateForm(req or None, instance=checkbox) 34 35 if request.method == "POST" and form.is_valid: 36 form.save() 37 return redirect('checkbox:index') 38 39 context = { 40 'form' : form, 41 'checkbox':checkbox, 42 } 43 44 return render(request, 'checkbox/form.html',context)

これをどうやってクラスベースに直せば良いか分かりません

僕が書いているコード↓

django

1class word_update(LoginRequiredMixin, UpdateView): 2 template_name = 'practice/word_update.html' 3 model = Word 4 form_class = WordUpdateForm 5 6 def get_success_url(self): 7 return reverse('word_list', kwargs={'sub': self.kwargs.get('sub'), 'team': self.kwargs.get('team')}) 8 9 def get_context_data(self, **kwargs): 10 context = super().get_context_data(**kwargs) 11 context['user'] = self.request.user 12 context['sub'] = self.kwargs.get('sub') 13 context['team'] = self.kwargs.get('team') 14 return context 15 16 def post(self, request, *args, **kwargs): 17 req = self.request.POST.copy() 18 if self.request.POST.get('check'): 19 req.update({'checkbox': 'checked'}) 20 print('ok') 21 else: 22 req.update({'checkbox': 'unchecked'}) 23 print('no') 24 return self.get(request, *args, **kwargs) 25 26 def form_valid(self, form): 27 Word = form.save(commit=False) 28 Word.team = Team.objects.get(pk=self.kwargs.get('team')) 29 Word.save() 30 return super().form_valid(form) 31 32URLのパラメーターも使っていますが気にしないでください

他に必要な情報があれば言ってください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/05/16 00:46

質問だけ見た場合、タイトルと内容で「やりたいこと」が合致してないように見えます。
yusei59

2021/05/16 02:37

タイトルを変更しました。 よろしければ解決策を教えてください。
m.ts10806

2021/05/16 04:49

現状「何がうまくいかないのか」が不明ですし、問題点・課題点も書かれてない丸投げ作業依頼なので、そのあたり具体的に書かれたほうがいいかもしれません。
1T2R3M4

2021/05/22 12:36

タイトルにある m_(-_-)_m はどのような意味で、どのようにコードに反映するのですか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問