Djangoでレッスン記録を作成している、プログラム初心者です。
学生の情報ページとその学生が受講したレッスンの一覧を1枚のページに表示させたいのですが、formに項目がセットされていないなどのエラーが表示され、うまくできません。
どのようにすれば、2つのviews関数を1つのページに表示できるか教えていただけませんか?
別々のページなら、それぞれ表示させることはできています。
views.py の schedule_list と student_detail を1つのページに表示させたいです。
schedule_list(レッスン記録)には選択している学生のみの記録を絞り込んで5件だけ表示させたいです。
よろしくお願いいたします。
環境:python 3.7
Django 2.1.5
windows10
views.py def schedule_list(request): """スケジュールを降順で一覧表示.""" schedules = Schedule.objects.order_by('-lesson_date') # 降順 paginator = Paginator(schedules, 5) page = request.GET.get('page', 1) try: schedules = paginator.page(page) except (EmptyPage, PageNotAnInteger): schedules = paginator.page(1) return TemplateResponse(request, 'schedule/schedule_list.html', {'schedules': schedules}) def student_detail(request, student_id): """選択した学生の詳細を表示""" try: student = Student.objects.get(id=student_id) except Student.DoesNotExist: raise Http404 return TemplateResponse(request, 'schedule/student_detail.html', {'student': student,})
form.py from django import forms from schedule.models import Schedule from schedule.models import Student class ScheduleEditForm(forms.ModelForm): # スケジュール用 class Meta: model = Schedule fields = ( 'student', 'lesson_date', 'article', 'content', ) class StudentEditForm(forms.ModelForm): # 学生情報用 class Meta: model = Student fields = ( 'name', 'country', )
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/17 04:08
2019/01/17 15:08
2019/01/19 10:07