如何使用Django表单下拉列表到我的模板?

2024-04-20 08:35:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个表单,其中有下拉字段,一个用于国家,另一个用于国籍 但是我不知道如何将它传递给我的html模板。 我怎样才能解决这个问题? 我写了我的模型并把它传给了我的朋友表格.py把它用在我的模板里

你知道吗型号.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.DateField(null=True, blank=True)
    NATIONALITY_CHOICES = [('خليجي','خليجي'),
                           ('ليس خليجي','ليس خليجي')]
    nationality = models.CharField(max_length=250, choices=NATIONALITY_CHOICES, null=True)

    def __str__(self):
        return self.first_name

你知道吗表单.py你知道吗

    from django import forms
    from .models import User

    class UserForm(forms.ModelForm):
        class Meta:
            model = User
            fields = ('first_name', 'second_name', 'E_mail', 'country', 'phone', 'phone_code','birthday', 'nationality',)

形式_页面.html你知道吗

    <form action="{% url 'LandingPage:form_page' %}" method="POST" class="ui inverted form container">
        {% csrf_token %}

        <div class="field">
            <label>البريد الألكتروني</label>
            <input type="text" name="last-name" placeholder="joe@schmoe.com" {{form.E_mail}}>
        </div>
        <div class="ui field">
            <label>أختر الدولة</label>
            <select name="gender" class="ui dropdown" id="select" {{form.country}}>
                <option value="">أختر الدولة</option>
                <option value="Saudi">Saudi Arabia +966</option>
                <option value="Qatar">Qatar +974</option>
                <option value="Oman">Oman +968</option>
                <option value="Kuwait">Kuwait +965</option>
                <option value="Bahrain">Bahrain +973</option>

            </select>
        </div>

        <!-- Mobile Number -->
        <div class="ui field">
            <label>رقم الهاتف</label>

            <div class="inline fields">
                <div class="eight wide field">
                    <input type="text" placeholder="(xxx)" {{form.phone}}>
                </div>

                <div class="three wide field" {{form.phone_code}}>
                    <input type="text" placeholder="الكود">
                </div>
            </div>
        </div>

        <!-- Nationalety -->
        <div class="ui field">
            <label>الجنسية</label>
            <select name="gender" class="ui dropdown" id="select" {{form.nationality}}>
                <option value="">الجنسية</option>
                <option value="خليجي">خليجي</option>
                <option value="ليس خليجي">ليس خليجي</option>
            </select>
        </div>
        <button class="ui fluid positive button" type="submit">Submit</button>
    </form>

Tags: namedivformtrueuifieldvaluemodels
1条回答
网友
1楼 · 发布于 2024-04-20 08:35:55

试试这个:

    <form action="{% url 'LandingPage:form_page' %}" method="POST" class="ui inverted form container">
        {% csrf_token %}

        <div class="field">
            <label>البريد الألكتروني</label>
            {{form.E_mail}}
        </div>
        <div class="ui field">
            <label>أختر الدولة</label>
            {{form.country}}
        </div>

        <!  Mobile Number  >
        <div class="ui field">
            <label>رقم الهاتف</label>

            <div class="inline fields">
                <div class="eight wide field">
                    {{form.phone}}
                </div>

                <div class="three wide field">
                    {{form.phone_code}}
                </div>
            </div>
        </div>

        <!  Nationalety  >
        <div class="ui field">
            <label>الجنسية</label>
            {{form.nationality}}
        </div>
        <button class="ui fluid positive button" type="submit">Submit</button>
    </form>

Django模板将根据表单字段为您呈现它。关于占位符或任何其他html属性,可以在用户窗体上设置它,使其显示在模板中。你知道吗

相关问题 更多 >