0
大家好,我想在Django注册后完成配置文件。 所以一旦用户注册,他使用以下步骤:Django处理表格步骤
第1步:注册(工程)
步骤2:选择大学(显示与大学一个选择,但它必须通过所选择的大学为了过滤课程在步骤3)
步骤3:选择课程并添加年。在这里,用户将能够选择一门课程并进入他的学习年。然后,学习年份将存储在studies_student(年份字段)中。并且我还储存了enrolled_id
所选的学生的课程。
我需要的是从第2步发送大学步骤3,过滤器的课程并提交enrolled_id
和year
。
views.py
def step2(request):
universities = University.objects.order_by('name').distinct()
return render_to_response("registration/step2.html", {'universities': universities}, RequestContext(request))
def step3(request):
courses = Course.objects.all()
args = {}
if request.method == 'POST':
form = Enroll(request.POST)
if form.is_valid():
return render_to_response("registration/complete.html", {'courses': courses}, RequestContext(request))
else:
form = Enroll()
args['form'] = form
return render(request, 'registration/complete.html')
def complete(request):
return render(request, 'registration/complete.html')
forms.py
class Enroll(forms.ModelForm):
course = forms.ChoiceField()
year = forms.IntegerField(validators=[MinValueValidator(1),
MaxValueValidator(7)])
class Meta:
model = Student
fields = ('year',)
def save(self, commit=True):
student = super(Student, self).save(commit=False)
if commit:
student.save()
return student
很抱歉的长文本,但我想了好几天做,所以我试图解释是我的目标去做。
喜纳文!我已经有了**大学**和**课程**两个单独的模型,您可以在数据库图像中看到。那么有没有什么办法可以将选定的**大学**从步骤2传递到步骤3并通过**大学**过滤**课程**? – manosim
重塑你的课程模式添加ForeignKey为大学...一旦你有话说可以说课程“获得所有的课程,其中universty名称或ID是xyz” – navyad
我已经有一个ForeignKey大学课程模型。这个问题我无法从表单中传递出来。我阅读这个[链接](https://docs.djangoproject.com/en/1.6/topics/forms/),但我真的很重要。 – manosim