اعمل علي استمارة تسجيل بها اختيارات nationality واريد عند اختيار المستخدم لأحد الخيارات من dropdown ويضغط زر التسجيل يتم توجيهة الي صفحة معينة وعند اختيار الاختيار الاخر ويضغط علي تسجيل يتم توجيهة الي صفحة اخري بواسطة Views.py
الكود الخاص Models.py
class User(models.Model): first_name = models.CharField(max_length=100) second_name = models.CharField(max_length=100) E_mail = models.EmailField(max_length=254) COUNTRY_CHOICES = [('saudi arabia +966','SAUDI ARABIA +966'), ('oman +968','OMAN +968'), ('kuwait +965','KWUAIT +965'), ('Qatar +948','QATAR +948')] country = models.CharField(max_length=250, choices=COUNTRY_CHOICES, null=True) phone = models.IntegerField(null=True) phone_code = models.IntegerField(null=True) birthday = models.IntegerField(null=True) NATIONALITY_CHOICES = (('1','خليجي'), ('2', 'ليس خليجي')) nationality = models.CharField(max_length=250, choices=NATIONALITY_CHOICES, null=True) def __str__(self): return self.first_name
الكود الخاص Forms.py
class UserForm(forms.ModelForm): class Meta: NATIONALITY_CHOICES = (('1', 'male'), ('2', 'female')) model = User fields = ('first_name', 'second_name', 'E_mail', 'country', 'phone', 'phone_code','birthday', 'nationality',) widgets = { 'first_name': forms.TextInput(attrs={'placeholder': 'الاسم الاول'}), 'second_name': forms.TextInput(attrs={'placeholder': 'الاسم الثاني'}), 'E_mail': forms.EmailInput(attrs={'placeholder': '[email protected]'}), 'nationality': forms.Select(choices=NATIONALITY_CHOICES,attrs={'class': 'form-control'}), }
الكود الخاص Views.py
def form_page(request): if request.method == 'POST': form = UserForm(request.POST) if form.is_valid(): form.save() if form.nationality == 1: return redirect('LandingPage:thank_you') else: return redirect('LandingPage:thank_you_not') else: form = UserForm() posts = Article.objects.filter(published_date__lte=timezone.now()).order_by('published_date') return render(request, 'LandingPage/form_page.html', {'form': form, 'posts': posts,})
الجزء الخاص بالتمبليت
<!-- Nationalety --> <div class="ui field"> <label>الجنسية</label> {{form.nationality}} </div>