I just did a test replacing smart_str() by force_byte() on py3.3.1/django1.7 and it's working fine. If force_byte() is working too with Python 2.X there's no reason no to use it instead of smart_str() then.