Это мой файлview.py для обоих:
Код: Выделить всё
@login_required
def mark_attendance(request):
students = Student.objects.all()
if request.method == 'POST':
form = AttendanceForm(request.POST)
if form.is_valid():
form.save()
return redirect('attendance')
else:
form = AttendanceForm()
return render(request, 'mark_attendance.html', {'form': form, 'students': students})
@login_required
def input_grades(request):
students = Student.objects.all()
subjects = Subject.objects.all()
form = GradesForm()
if request.method == 'POST':
form = GradesForm(request.POST)
if form.is_valid():
form.save()
return redirect('grades')
else:
print(form.errors) # This will print errors in the console
return render(request, 'input_grades.html', {'form': form, 'students': students, 'subjects': subjects})
Код: Выделить всё
# Attendance Form
class AttendanceForm(forms.ModelForm):
class Meta:
model = Attendance
fields = ['student', 'date', 'is_present']
widgets = {
'date': forms.DateInput(attrs={'type': 'date'}),
}
# Grades Form
class GradesForm(forms.ModelForm):
class Meta:
model = Grades
fields = ['student', 'subject', 'quarter', 'grade']
widgets = {
'grade': forms.TextInput(attrs={'class': 'form-control'}),
'student': forms.Select(attrs={'class': 'form-control'}),
'subject': forms.Select(attrs={'class': 'form-control'}),
'quarter': forms.TextInput(attrs={'class': 'form-control'}),
}
- mark_attendance.html
Код: Выделить всё
Mark Attendance
{% csrf_token %}
Student:
Select Student
{% for student in students %}
{{ student.first_name }} {{ student.last_name }}
{% endfor %}
Date:
Present:
Submit
- input_grades.html
Код: Выделить всё
Input Grades {% csrf_token %} Student: Select Student {% for student in students %} {{ student.first_name }} {{ student.last_name }} {% endfor %} Subject: Select Subject {% for subject in subjects %} {{ subject.subject_name }} {% endfor %} Quarter: Select Quarter Q1 Q2 Q3 Q4 Grade: Submit
Подробнее здесь: https://stackoverflow.com/questions/792 ... e-database