ModelForm を使用して Django ページをセットアップしましたが (コメントのおかげで)、save()
メソッドが定義されていません。
player_add
ビューをロードするマイページはglobal name 'save' is not defined
、フォームを保存しようとすると を返します。
プレイヤーのリストに戻ったときに実際にモデルに保存され、正しいデータが表示されるため、この保存方法でエラーが発生する理由を誰か説明してもらえますか?
私のmodels.py
:
from django.db import models
from datetime import date
from django.core import validators
from django.utils.translation import ugettext as _
import re
def validate_email(value):
return True if validators.email_re.match(value) else False
def validate_phone(value):
value = re.sub(' ', '', value) # get rid of any spaces
return True if re.match(r'/^(\d){11}', value) else False # don't think this regex actually works
class Player(models.Model):
name = models.CharField(max_length = 100)
telnum = models.CharField('Telephone', max_length = 15, validators = [validate_phone],
error_messages = { 'invalid': _('Please enter a valid phone number')})
dob = models.DateField('Date of Birth')
email = models.CharField('MyEmail', max_length = 50, validators = [validate_email],
error_messages = { 'invalid': _('Please enter a valid email address.'),
'required': _('You need to enter a valid email address.')})
class Meta:
db_table = "Players"
ordering = ['name']
class Admin:
pass
def __unicode__(self):
return self.name
forms.py
:
from django.forms import ModelForm
from packages.models import Player
class PlayerForm(ModelForm):
class Meta:
model = Player
そして、Player モデルに追加するための私の見解:
def player_add(request):
form = PlayerForm(request.POST or None)
if form.is_valid():
cmodel = form.save()
cmodel = save()
return redirect(players)
return render_to_response('players/player_add.html',
{'player_form': form},
context_instance = RequestContext(request))