0
我在Django 1.4.5中有一個應用程序。 我在那裏添加了一個字段(tshirt_size) - 它有一個默認值:大小S. 當我在視圖中添加代碼時,出現服務器錯誤。當視圖中沒有代碼時,儘管事實上我選擇了XL,但只有尺寸S(管理面板)。模型中的字段不會出現在Django應用程序的視圖中
這裏是一個,加場到我的模型:
tshirt_size = models.CharField(choices=TSHIRT_SIZE_CHOICES, default="s", blank=True, max_length=24)
這裏是我的形式
TSHIRT_SIZE_CHOICES = (
('s', 'S'),
('m', 'M'),
('l', 'L'),
('xl', 'XL')
)
class SubscriberForm(forms.ModelForm):
class Meta():
model = Subscriber
exclude = ['event', 'is_active']
widgets = {
'prefix': Select(choices=PREFIX_CHOICES),
'name': TextInput(),
'last_name': TextInput(),
'email': TextInput(),
'company': TextInput(),
'job_title': TextInput(),
'phone_number': TextInput(),
'tshirt_size': Select(choices=TSHIRT_SIZE_CHOICES),
}
這是我的觀點:
def add_subscriber(request):
"""
Receiving data via Ajax
"""
result = json.dumps({'result': 'Missing data'})
if request.is_ajax():
form = SubscriberForm(request.POST)
if form.is_valid():
email = request.POST.get('email')
if email is not None:
event_pk = request.POST.get('id')
prefix = request.POST.get('prefix')
name = request.POST.get('name')
last_name = request.POST.get('last_name')
company = request.POST.get('company')
job_title = request.POST.get('job_title')
phone_number = request.POST.get('phone_number')
try:
event = Event2.objects.get(pk=event_pk)
except Event2.DoesNotExist:
result = json.dumps({'result': 'No event'})
return HttpResponse(result, content_type='application/json')
if Subscriber.objects.filter(
email__iexact=email, event=event).exists():
result = json.dumps({'result': 'Already Registered'})
return HttpResponse(result, content_type='application/json')
subscriber = Subscriber(
event=event,
prefix=prefix,
name=name,
last_name=last_name,
email=email,
company=company,
job_title=job_title,
phone_number=phone_number,)
subscriber.save()
result = json.dumps({'result': 'ok'})
return HttpResponse(result, content_type='application/json')
return HttpResponse(result, content_type='application/json')