It’s a common and ugly problem when using non-ascii characters in Django.
The general solution is below,
- put # -- coding: utf-8 -- at beginning of every python source files that are using utf-8 characters
- declare every string variable as unicode, such as str_var = u’中文字符’
- add a __unicode__ method in your model classes
- if you are running server on apache/mod_wsgi or ngnix, you need configure web server to use utf-8 encoding