Как вручную редактировать выпадающее меню usercreationforms в html? - PullRequest
0 голосов
/ 24 марта 2020

Я использовал usercreationform в forms.py для создания формы на html странице. Он автоматически создаст поле с помощью {{form. поле}} это нормально, но я хочу сделать выпадающий список вручную в html из файла forms.py, то есть я хочу отредактировать поле выпадающего списка на странице html.

forms.py

class SignupForm(UserCreationForm):
    username = forms.CharField(label="Roll No", help_text="Enter Valid RollNo")
    name = forms.CharField(label="Candidate Name", max_length=150)
    dob = forms.DateField(label="Date")
    email = forms.EmailField(max_length=100, help_text='Required')
    department = forms.CharField(label="Department", widget=forms.Select(choices=CHOICES))
    edc = forms.ChoiceField(label="EDC", widget=forms.Select(choices=COURSE))

    class Meta:
        model = User
        fields = ("username","name", "dob", "email","department",'password1','password2')

регистрация. html моя html страница

 {% block content %}
    <form method="post">
        {% csrf_token %}
          <div class="form-row">
                <div class="form-group col-md-6">
         {{ form.username | as_crispy_field }}
                </div>
        <div class="form-group col-md-6">
          {{ form.name|as_crispy_field }}
        </div>
          </div>
      <div class="form-row">
          <div class="form-group col-md-6 mb-0">
            {{ form.dob | as_crispy_field }}
          </div>
          <div class="form-group col-md-4 mb-0">
            {{ form.email | as_crispy_field }}
          </div>
      </div>
              <div class="form-row">
          <div class="form-group col-md-6 mb-0">
            {{ form.department | as_crispy_field }}
          </div>
          <div class="form-group col-md-4 mb-0">

    **<p><label >EDC:</label>
              <select>
                  {% for choices in form.edc %}
                <option value="{{choices}}">""</option>
                <option value="{{choices}}">{{choices}}</option>
                <option value="{{choices}}">{{choices}}</option>
                <option value="{{c}}">{{choices}}</option>
                  {% endfor %}
              </select>
        </p>**
          </div>
      </div>
              <div class="form-row">
          <div class="form-group col-md-6 mb-0">
            {{ form.password1 | as_crispy_field }}
          </div>
          <div class="form-group col-md-4 mb-0">
            {{ form.password2 | as_crispy_field }}
          </div>
      </div>
        <button type="submit" class="btn btn-primary">Sign up</button>
      </form>
    {% endblock %}

На этой html странице, которую я обозначил .....

в этом поле я хочу отредактировать ed c choicefield (forms.py) вручную в html. Я думаю, вы поймете, что Я ищу.

Models.py

class listing(models.Model):
    id = models.IntegerField(primary_key=True)
    username = models.CharField(max_length=150)
    name = models.CharField(max_length=150)
    dob = models.DateField()
    email = models.EmailField()
    department = models.CharField(max_length=150 )
    edc = models.CharField(max_length=300,default="")

    def __str__(self):
        return self.username

views.py

@csrf_exempt
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            obj = listing()
            obj.username = form.cleaned_data['username']
            obj.name = form.cleaned_data['name']
            obj.dob = form.cleaned_data['dob']
            obj.email = form.cleaned_data['email']
            obj.department = form.cleaned_data['department']

            **obj.edc = form.cleaned_data['field']**

            obj.save()
            return HttpResponse('Accout created successfully...')
    else:
        form = SignupForm()
    return render(request, 'signup.html',locals())

После полного кода в html как я могу получить в views.py?

Если вы не поняли вопрос, который я могу уточнить, пожалуйста, прокомментируйте меня ... Если у вас есть какие-либо Другой способ сделать это вручную, пожалуйста, скажите мне, что также ...

...