مشكلة في عمل فورمة تسجيل بيانات للمستخدم بـ دجانجو

اعمل علي استمارة تسجيل بها اختيارات 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>
1 Like

السلام عليكم
تريد مراجعة الكود أم أن هناك خطأ يظهر عندك ؟
إذا نعم؟ لو ترفق صورة يكون أحسن

1 Like

نعم هناك خطأ في الكود ولاكنه يعمل, كما تري في الكود احاول ان اجعل المستخدم اذا اختار الاختيار رقم واحد في القائمة Nationalety يتم توجيهة الي thank_you واذا اختار الاختيار الثاني يتم توجيهة الي thank_you_not
ولاكن الخطأ هنا عندما اضغط علي زر التسجيل بعد الاختيار الاول او حتي الثاني يذهب الي هذه الصفحة thank_you_not في الحالتين!