2011-08-30 61 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