2011-08-30 53 views
0

我工作的形式模型和得到这个错误:“AdForm”没有定义问题在Django表单模型

在我看来,我有 全局名称:

从django.template进口的RequestContext,装载机 从django.http进口的HttpResponse 从django.shortcuts汇入django.contrib.auth.decorators进口重定向 login_required 从Django的进口形式

@login_required 
def create(request): 
    if request.POST: 
     ad = AdForm(request.POST) 
     if ad.is_valid(): 
      test = 'valid' 
     else: 
      test = 'invalid' 
    else: 
     test = 'none' 

    template = loader.get_template('ads/create.html') 
    context = RequestContext(request, { 
     'test': test 
    }) 

    return HttpResponse(template.render(context)) 

然而,它并没有拿起我的模型。我的模型在我看来是:

from django.db import models 
from django.forms import ModelForm 

TYPE_CHOICES = (
    'Image', 
    'Code', 
) 

SIZE_CHOICES = (
    'Leaderboard', 
    'Banner', 
    'Skyscraper', 
    'Square', 
) 

class Ad(models.Model): 
    title = models.CharField(max_length=40) 
    type = models.CharField(max_length=7) 
    size = models.CharField(max_length=16) 
    clicks = models.IntegerField() 
    media = models.ImageField(upload_to='ads') 
    link = models.URLField(null=True) 
    created = models.DateTimeField(auto_now_add=True) 
    expires = models.DateTimeField(null=True) 

    def __unicode__(self): 
     return self.name 

class AdForm(ModelForm): 
    class Meta: 
     model = Ad 

有没有人知道为什么它不拾取表单模型?

谢谢你的小菜。

回答

2

在您的视图的顶部,你需要:

from .models import AdForm 

此外,通常的形式去forms.py,不与模型。

+0

谢谢,我把他们放在那里,即使他们参考模型?我如何从forms.py中的models.py中引用我的广告模型?谢谢您的帮助。 – Darren

+0

谢谢我能够从ads.models导入广告中导入它 – Darren