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

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

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

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

Python

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

Q&A

解決済

1回答

337閲覧

djangoのformの使い方について

ktg_st

総合スコア33

Django

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

Python

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

0グッド

0クリップ

投稿2020/08/20 10:20

djangoのformとviewの書き方に関して分からないことがあり質問させていただきます。

やりたいこと
user.pkをviewで受け取りcontextでhtmlに渡したいが上手くいかない
⇒下記views.pyのだとuser.pkは渡せるがformが機能しない
⇒def get を消せばformは機能するが、user.pkを渡せない

よろしくお願いします。

views.py class FixViews(generic.View): template_name = 'shift/fix.html' model = Schedule form_class = FixedForm def get(self, request, **kwargs): user= self.kwargs['user_pk'] user=User.objects.filter(id=user) context={'user_a':user} return render(request, self.template_name, context,form_class)
forms.py class FixedForm(forms.ModelForm): class Meta: model = Schedule fields=('user','fix', 'monday_start','tuesday_start','wednesday_start','thursday_start','friday_start','saturday_start','sunday_start', 'monday_end','tuesday_end','wednesday_end','thursday_end','friday_end','saturday_end','sunday_end' ) wifgets={ 'user':forms.HiddenInput, }
html {% extends "register/base.html" %} {% block content %} <div class = "common-form"> <form action="" method="POST"> <div class="form-group"> <table class="table table-bordered table-sm"> <th> {% for a in user_a %} <th>{{a.last_name}}{{a.first_name}}</th> {% endfor %}</th> <tr><td>月曜日</td><td>{{ form.monday_start }}{{form.monday_end}} </td> </tr> <tr><td>火曜日</td><td>{{ form.tuesday_start }}{{form.tuesday_end}} </td> </tr> <tr><td>水曜日</td><td>{{ form.wednesday_start }}{{form.wednesday_end}} </td> </tr> <tr><td>木曜日</td><td>{{ form.thursday_start }}{{form.thursday_end}} </td> </tr> <tr><td>金曜日</td><td>{{ form.friday_start }}{{form.friday_end}} </td> </tr> <tr><td>土曜日</td><td>{{ form.saturday_start }}{{form.saturday_end}} </td> </tr> <tr><td>日曜日</td><td>{{ form.sunday_start }}{{form.sunday_end}} </td> </tr> </table> {% csrf_token %} </div> <button type="submit" class = "submit" class="btn btn-primary btn-lg">設定</button> </form> </div> {% endblock %}
url.py path('fix/<int:user_pk>/',views.FixViews.as_view(),name='fix'),

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1class FixViews(generic.View): 2 template_name = 'shift/fix.html' 3 model = Schedule 4 form_class = FixedForm 5 def get_context_data(self, **kwargs): 6 context = super().get_context_data(**kwargs) 7 user = self.kwargs['user_pk'] 8 user = User.objects.filter(id=user) 9 context['user_a'] = user 10 return context 11````get_context_data`で渡せばいいのでは?

投稿2020/08/20 10:43

ForestSeo

総合スコア2722

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

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

ktg_st

2020/08/20 11:07

ありがとうございます。 解決しました。getとget_context_dataの違いがいまいちわかっておらずでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問