class LanguageChoiceField(forms.ChoiceField): 2 3 def init_choices(self): 4 import babel 5 from kay.conf import settings 6 from kay.utils import local 7 try: 8 locale_data = babel.localedata.load(local.app.active_translations.lang) 9 except AttributeError: tokibito 2009-06-29 11:06 locale_data = babel.localedata.load(g... locale_data = babel.localedata.load(getattr( local.app.active_translations.lang, settings.DEFAULT_LANG)) Reply tokibito 2009-06-29 11:06 と言ってみるテスト。 と言ってみるテスト。 Reply tokibito 2009-06-29 11:06 あ、普通に動かないコード貼ってしまった。 あ、普通に動かないコード貼ってしまった。 Reply tmatsuo 2009-06-29 23:06 Ok I got it :-) thx. 意図は分かりました〜ありがとう。 Ok I got it :-) thx. 意図は分かりました〜ありがとう。 Reply tmatsuo 2009-06-29 23:06 書き直そうとして気づいたけど local.app のところで Attrib... 書き直そうとして気づいたけど local.app のところで AttributeError もありえるからやっぱり try ~ except で良いかなと思った Reply 10 locale_data = babel.localedata.load(settings.DEFAULT_LANG) 11 languages = locale_data["languages"] 12 self.choices = [] 13 if not self.required: 14 self.choices.append(('', '-----')) 15 for key in sorted(languages.keys()): 16 val = languages[key] 17 self.choices.append((key, '%s: %s' % (key, escape(val)))) 18 19 def _bind(self, form, memo): 20 rv = super(LanguageChoiceField, self)._bind(form, memo) 21 if self.choices is not None: 22 rv.choices = list(self.choices) 23 else: 24 rv.init_choices() 25 return rv