python - Putting utf-8 dict in Django template -
i've got little faq.conf file containing dict structure i'm importing ast django. question , answer contain utf-8 chars , html markup.
{ '1': {'question':'','answer':''}, '2': {}, '3': {}, }
so use ast import it:
with open(os.path.join(fs_root, faq_file)) q: faq = ast.literal_eval(q.read())
after putting view context , using filter {{ faq|safe }} receive:
{'1': {'answer': 'zewn\xc4\x99trznych mog\xc4\x85 si\xc4\x99 do\xc4\x87 osoby. w szczeg\xc3\xb3lno\xc5\x9bci takie, kt\xc3\xb3rych. ...}
what should proper output in templates?
assuming using python 2, problem reading file byte string , not unicode string. believe ast
handles utf-8 fine, can do:
with open(os.path.join(fs_root, faq_file)) q: faq = ast.literal_eval(q.read().decode('utf-8'))
or use codecs.open
open file correct encoding.
if ast
doesn't unicode characters, can call decode()
on strings before passing them django.
if using python 3, problem encoding isn't utf-8, in case using codecs
above should work, provided use correct encoding.
Comments
Post a Comment