我需要你的帮助.问题:我有一个用于创建新用户的模板,视图和表单,如果我在注册时出现相同的错误(例如:password1!= password2),我应该在模板中看到错误,但它们不是.SOS!
观点:
def registration(request):
if request.method == "POST" :
form = UserCreationForm(request.POST, request.FILES)
if form.is_valid():
print "form is valid"
form.save()
return render_to_response("action_succes.html")
else:
print form.is_valid()
print form.errors
form = UserCreationForm(request.POST)
else:
form = UserCreationForm()
args = {}
args.update(csrf(request))
form = UserCreationForm()
#args["form"] = UserCreationForm()
#return render_to_response("registration.html", args)
return render(request, "registration.html", {'form':form})
Run Code Online (Sandbox Code Playgroud)
模型:
class User(AbstractBaseUser):
email = models.EmailField(
verbose_name='Email address',
max_length=45,
unique=True,
db_index=True,
)
username = models.TextField(verbose_name='Nick', max_length=15, unique=True)
profession = models.TextField(verbose_name='Profession', max_length=15)
avatar = models.FileField(upload_to=get_upload_file_name, blank=True, null=True)
profile_vkontakte = …Run Code Online (Sandbox Code Playgroud) 需要你的帮助.我尝试使用mongoengine,烧瓶,烧瓶登录.
我的模特:
class Post(db.Document):
text = db.StringField(max_length=240)
pub_date = db.DateTimeField(default=datetime.datetime.now)
author = db.ReferenceField(Member)
Run Code Online (Sandbox Code Playgroud)
我得到当前用户(flask-login):
from flask.ext.login import current_user
Run Code Online (Sandbox Code Playgroud)
比在views.py中:
new_post = Post()
new_post.text = 'bla-bla'
#new_post.author = current_user #- DON`T WORK
new_post.author = Member.objects.get(id=current_user.id) #-WORK (WHY?)
new_post.save()
Run Code Online (Sandbox Code Playgroud)
有什么错new_post.author = current_user,如果new_post.author = Member.objects.get(id=current_user.id)-工作正常.
如果尝试new_post.author = current_user- 获取错误:
mongoengine.errors.ValidationError
ValidationError: ValidationError (Post:None) (A ReferenceField only accepts DBRef or documents: ['author'])
Run Code Online (Sandbox Code Playgroud)
谢谢,人.