2013-01-13 12 views
5

Flask-WTForms ile Flask kullanıyorum ve bir kullanıcı için parola dahil olmak üzere değerleri güncellemenin mümkün olduğu bir yönetici sayfası yazıyorum.İsteğe bağlı olarak Flask-WTForms kullanarak bir alana gerek duymanın doğru yolu nedir?

Kayıt için kullandığım aynı form sayfasını kullanıyorum, ancak parola güncellenmesi gerekli olmadığından, buna gereksinim duymak istemiyorum. Flask-WTForms ile bunu yapmanın doğru yolu nedir?

bende benim UserFormforms.py ve ben özel bir doğrulayıcı yapma düşünme ve varsayılan onay geçersiz kılar bir dosya düzeyinde require_password seçeneğine sahip oldu. WTForms’a oldukça yeni ve Flask’a biraz yeniyim.

from flask.ext.wtf import Optional 

def make_optional(field): 
    field.validators.insert(0, Optional()) 

#Rest of code here... 

Sonra şişe bitiş içine Arayabileceğim,

forms.py yılında:

user_form = UserForm() 
forms.make_optional(user_form.password) 
if user_form.validate_on_submit(): 
    #Go on your merry way! 

yapmak gibi görünüyor Yani

cevap

4

Bu çözüm istediğimi yapmama gibi görünüyor İstediğim şey - eğer varsa, hiçbir şeyi görmezden gelirken, diğer tüm doğrulamayı (örn. onay) saklayın şifre mevcut.

+0

"ImportError: flask.ext.wtf.Optional adlı bir modül yok" alıyorum –

+1

@vivi Sizin için çalışıp çalışmadığını görmek için "wtforms.validators import Optional" kaynağından deneyebilirsiniz. – iChux