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