django form dropdown list of numbers

前端 未结 2 1473
执笔经年
执笔经年 2020-12-29 04:09

i am new to django and i want to make a simple form, according to the doc i can make a form using forms module from django

from django import forms

class Cr         


        
相关标签:
2条回答
  • 2020-12-29 04:49

    You're looking for a ChoiceField which renders as a select html element by default. https://docs.djangoproject.com/en/dev/ref/forms/fields/#choicefield

    class CronForm(forms.Form):
        days = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)])
    
    0 讨论(0)
  • 2020-12-29 05:08

    you can start by choosing to render the fields manualy. A simple example:-

    {% for field in form %}
            <div class="fieldWrapper">
                {{ field.errors }}
                {{ field.label_tag }} {{ field }}
                {% if field.help_text %}
                    <p class="help">{{ field.help_text|safe }}</p>
                {% endif %}
            </div>
        {% endfor %}
    

    This will render the form without any styling then you have to apply the relevent class to create a drop down list(copied from w3c dropdown css):-

     <div class="dropdown">
        <button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Tutorials
        <span class="caret"></span></button>
        <ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
          <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li>
          <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
          <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li>
          <li role="presentation" class="divider"></li>
          <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>
        </ul>
      </div>
    </div>
    

    combining the two :-

    <div class="dropdown">
            <button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Days
                <span class="caret"></span></button>
            <div class="fieldWrapper">
                <ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
                    {% for field in form %}
                        <li class="fieldWrapper">
                            {{ field.errors }}
                            {{ field.label_tag }} {{ field }}
                            {% if field.help_text %}
                                <p class="help">{{ field.help_text|safe }}</p>
                            {% endif %}
                        </li>
                    {% endfor %}
                </ul>
            </div>
        </div>
    
    0 讨论(0)
提交回复
热议问题