django don';不显示形式

django don';不显示形式,django,django-forms,Django,Django Forms,我想做一个有选择的表格并展示出来。但在输出html中,我没有看到表单本身。这是我的档案: views.py: from django.http import HttpResponse, Http404 from django.shortcuts import render_to_response from tasks.todoes.models import Note, Resource,/ File, Worker, Client, Task, ProblemByWorker, Pr

我想做一个有选择的表格并展示出来。但在输出html中,我没有看到表单本身。这是我的档案:

views.py:

from django.http import HttpResponse, Http404
from django.shortcuts import render_to_response
from tasks.todoes.models import Note, Resource,/
     File, Worker, Client, Task, ProblemByWorker, ProblemByUser, Categories
from tasks.forms import NewTicketForm

def new_ticket2(request):
    method = request.method
    if request.method == 'POST':
        form = NewTicketForm(request.POST)
        if form.is_valid():
            pass
    else:
        form = NewTicketForm()
    return render_to_response('new_ticket2.html', {'form':form, 'method':method})
forms.py

from django import forms
from tasks.todoes.models import Note, Resource, File, Worker, Client, Task,/
   ProblemByWorker, ProblemByUser, Categories

class NewTicketForm(forms.Form):
    name = forms.CharField(max_length=140)
    pbus = forms.ChoiceField(choices = ProblemByUser.objects.all())
    description = forms.CharField(widget=forms.Textarea)
    clients = forms.ChoiceField(choices = Client.objects.all())
    priority = forms.ChoiceField(choices = ('1','2','3','4','5'))
    category = forms.ChoiceField(choices = Categories.objects.all())
    start_date = forms.DateTimeField()
    due_date = forms.DateTimeField()
    workers = forms.ChoiceField(choices = Worker.objects.all())
    percentage = forms.DecimalField(min_value=0, max_value=100)
new_ticket2.html

<html>
<head>
    <title>New Ticket</title>
</head>
<body>
    {% if form.errors %}
        {{form.errors}}
    {% endif %}
    <p>{{ method }}</p>
    <form action="" method="post">
        <table>
            {{ form.as_table }}
        </table>
        <input type="submit">
    </form>
</body>

新票
{%if form.errors%}
{{form.errors}}
{%endif%}
{{method}}

{{form.as_table}}
在我的输出中,我只看到“获取”和“提交”按钮:

<html><head>
    <title>New Ticket</title>
...</head>
<body>

    <p>GET</p>
    <form action="" method="post">
        <table>

        </table>
        <input type="submit">
    </form>
...</body></html>

新票
...
得到

...

为什么会这样?

您不直接地指定了选项。阅读关于和的
选项
属性的文档

似乎未正确配置
选择字段
会自动失败。希望stackoverflow上的人能向我们解释原因

class NewTicketForm(forms.Form):
    PRIORITY_CHOICES = (
        ('1','1'),
        ('2','2')
    )

    name = forms.CharField(max_length=140)
    pbus = forms.ModelChoiceField(queryset = ProblemByUser.objects.all())
    description = forms.CharField(widget=forms.Textarea)
    clients = forms.ModelChoiceField(queryset = Client.objects.all())
    priority = forms.ChoiceField(choices = PRIORITY_CHOICES)
    category = forms.ModelChoiceField(queryset = Categories.objects.all())
    start_date = forms.DateTimeField()
    due_date = forms.DateTimeField()
    workers = forms.ModelChoiceField(queryset = Worker.objects.all())
    percentage = forms.DecimalField(min_value=0, max_value=100)