关于 Django 表单模型的问题
Posted
技术标签:
【中文标题】关于 Django 表单模型的问题【英文标题】:Question On Django Form Models 【发布时间】:2011-11-07 00:31:53 【问题描述】:我正在处理表单模型并收到此错误: 未定义全局名称“AdForm”
在我看来,我有:
从 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
有谁知道它为什么不选择表单模型?
感谢菜鸟。
【问题讨论】:
【参考方案1】:在您的视图顶部,您需要:
from .models import AdForm
另外,表格通常放在forms.py
,而不是模型。
【讨论】:
谢谢,即使它们参考模型,我也要把它们放在那里吗?我将如何从 forms.py 中的 models.py 引用我的广告模型?感谢您的帮助。 感谢我能够使用 from ads.models import Ad 导入它以上是关于关于 Django 表单模型的问题的主要内容,如果未能解决你的问题,请参考以下文章