Djangoで、ContactFormのModelFormを作成しようとしていますが、フォームを含むページを読み込もうとすると、フォームが存在しないと表示されます。次に、以前に作成した他のフォームをレンダリングしようとすると、次のように表示されます。
Caught AttributeError while rendering: 'CashtextsForm' object has no attribute 'subject'
'Subject'は、ContactFormでレンダリングしようとしたフォームのフィールドです。それで、models.pyにそれらをリストしなければならない特定の順序はありますか?そのコードは次のとおりです。
# Create your models here.
from django.db import models
from django.forms import ModelForm
class Cashtexts(models.Model):
cashTexts = models.CharField(max_length=100, blank=True) #change me to a website filter
superPoints = models.CharField(max_length=100, blank=True)#chance to "superPoints _Username"
varolo = models.CharField(max_length=100, blank=True)
swagbucks = models.CharField(max_length=100, blank=True)
neobux = models.CharField(max_length=100, blank=True)
topline = models.CharField(max_length=100, blank=True)
Paidviewpoint = models.CharField(max_length=100, blank=True)
cashcrate = models.CharField(max_length=100, blank=True)
def __unicode__(self):
return self.cashcode
class Contact(models.Model):
sender = models.EmailField()
subject = models.CharField(max_length=25)
message = models.TextField()
class CashtextsForm(ModelForm):
class Meta:
model = Cashtexts
def __unicode__(self):
return self.subject
class ContactForm(ModelForm):
class Meta:
model = Contact
以前はModel-Modelform、Model-Modelformとして配置していましたが、ここでは現在の方法として示しています。
また、フォームだけを書くことには何か利点がありますか?今のところ、フォームよりもモデルフォームを書く方が快適です(モデルフォームが大きく異なるとは思いません)が、モデルフォームだけを書いた場合、機能を見逃してしまうでしょうか?それで、models.pyで複数のフォームを書く方法について私が見逃したことはありますか、それともそれらをweargで書いたのですか?または、コマンドsyncdbを使用してそれらを作成することはできませんか?