Здравствуйте! Помогите пожалуйста разобраться.
В моем джанго проекте у меня есть форма с полем, куда пользователь вводит данные и затем создает новую запись после submit. Вводить нужно на русском языке. Столкнулся со следующей проблемой.
Пользователь по ошибки в слове "Cтрана X" ввел буквы "С" и "Х" на латинице, а остальные буквы на кириллице. Далее, когда пользователь производит поиск и вводит на кириллице слово "Страна" - ничего не выводится. Результат выводится лишь, когда пользователь вводит слова "Cтрана", где С написано латиницей. В базе данных хочу записывать все сразу на кириллице. Пытаюсь использовать следующий код, но он не помог. Как правильно заменить буквы в словах?
# Без этих импортов выводится ошибка: UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# Латинские буквы 'ETOPAHKXCBMetopahkxcbm'
# Буквы кирилицы 'ЕТОРАНКХСВМеторанкхсвм'
WORDS = {
"E": "Е",
"T": "Т",
"O": "О",
"P": "Р",
"A": "А",
"H": "Н",
"K": "К",
"X": "Х",
"C": "С",
"B": "В",
"M": "М",
"e": "е",
"t": "т",
"o": "о",
"p": "р",
"a": "а",
"h": "н",
"k": "к",
"x": "х",
"c": "с",
"b": "в",
"m": "м"
}
***
def form_valid(self, form):
title = form.cleaned_data['title'] # Поле формы
for key in WORDS.keys():
title = head.replace(key, str(WORDS[key])) # Замена не срабатывает
form.save()