如何在模板上显示选择域选择小部件?

时间:2012-07-24 21:01:00

标签: django forms drop-down-menu choicefield

这是我的观点:

CHOICES = (('10','10'), ('20','20'),('30','30'), ('50','50'))

class Droplist (forms.Form):
    number = forms.ChoiceField(choices = CHOICES)    

    def page_objects(request):
        if request.method == 'POST': # If the form has been submitted...
            form = Droplist(request.POST) # A form bound to the POST data
            if form.is_valid(): # All validation rules pass
                pass #pages = form.cleaned_data['value']
                #return AutoPaginateNode(paginate_by=pages) # Redirect after POST
        else:
            form = Droplist() # An unbound form

        return render_to_response('pagination.html', {'form': form })

这是我的模板:

<form action="/submit/" method="post">{% csrf_token %}
   {{ form }}
   <input type="submit" value="Select">
</form>

我如何渲染我的表单,因为我需要一个包含模板选项的下拉框?我错过了什么?

1 个答案:

答案 0 :(得分:0)

您需要使用{{ form.as_p }}

<form action="/submit/" method="post">{% csrf_token %}
   {{ form.as_p }}
   <input type="submit" value="Select">
</form>

您也可以使用{{ form.as_table }}输出表格行,但您需要提供自己的<table>form.as_ul输出列表项:

<form action="/submit/" method="post">{% csrf_token %}
   <table>
       {{ form.as_table }}
   </table>
   <input type="submit" value="Select">
</form>

您可以在Django的文档

上找到有关Displaying a form using a template的更多信息