2012-10-14 2 views
1

일부 choises로 양식을 만들고 표시하고 싶습니다. 그러나 출력 HTML에서 양식 자체를 보지 못했습니다. 여기 내 파일은 다음과 같습니다django가 양식을 표시하지 않습니다.

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> 

I 참조 전용 "GET"과 제출 버튼 :

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

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

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

왜 그렇습니까?

답변

3

선택 사항을 엄중하게 지정하십시오. choices 속성에 대한 문서를 ChoiceField 및 약 ModelChoiceField으로 읽어보십시오.

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) 

ChoiceFields이 자동으로 실패로 설정됩니다. 희망, 누군가 stackoverflow 우리에게 이유를 설명합니다.

관련 문제