Yerelleştirme için https://pythonhosted.org/Flask-Babel/ uzantısını kullanıyorum. Flask JSON serileştirilebilir hata nedeniyle flask babil
baz formu sınıfı#!/usr/bin/env python
# -*- coding: utf-8 -*-
from app import app
from flask.ext.wtf import Form
class BaseForm(Form):
@property
def error_list(self):
_errors = []
for fieldName, errorMessages in self.errors.iteritems():
for err in errorMessages:
_errors.append(err)
return _errors
benim form sınıf
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import g
from wtforms import StringField, TextField, PasswordField # BooleanField
import wtforms.validators as validators
from flask.ext.babel import lazy_gettext as _
from flask.ext.babel import npgettext as _n
from app.base_forms import *
class PostForm(BaseForm):
post_title = StringField(_("Post Title"), [validators.Required(message=_("Post title is required")) ])
post_content = StringField(_("Post Content"), [ validators.Required(message=_("Post content is required"))])
Bu hatayı atar
...
viewJsonData["error_list"] = form.error_list
return jsonify(**viewJsonData)
benim görünümü "TypeError: lu'Post içeriği 'gereklidir değil JSON serilestirilebilir".
i "Yazı Başlığı" işe _ ("Post Title") elde yerelleştirme kaldırdığınızda ama Babel kullandığınızda o
Ben unicode hakkında olduğunu düşünüyorum çalışmaz. çünkü bu değişikliği yaptım _ ("Post Title") kodlar ("utf-8") çalışır. Ancak bu çözüm etkili değildir. Sorunu nasıl çözebilirim.
Bu, bir dizi nedenden dolayı yanlıştır. Her zaman metin döndürmelisiniz ('Pyr'de str', Py2’de unicode’dur). Kesinlikle metni kodlama/kod çözme, sadece Py2 için 'unicode' çağırma. Cevabımda düzenlediğim Flask'un uyumluluk modülünü her ikisiyle de uyumlu olacak şekilde kullanın. – davidism