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'),
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/20 11:07