Форум сайта python.su
Всем привет
Занимаюсь адаптацией веб-сайта под мультиязычность.
Настроил settings.py(путь до locale, languages, i18n и middleware)
При:
$python manage.py makemessages -l de
CommandError: errors happened while running msguniq msguniq: \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0437 \xabASCII\xbb \u0432 \xabUTF-8\xbb. msguniq \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 iconv(). \u042d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u044b\u043b\u0430 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0431\u0435\u0437 iconv()
urlpatterns = i18n_patterns('', url(r'^visualizations/', visual, name="visual"), url(r'^userprofile/', userprofile, name="profile"), url(r'^insights/', insights, name="insights"), )
TypeError: hasattr(): attribute name must be string
@login_required def userprofile(request): return render(request, 'userprofile.html', { 'user': request.user, 'form': UserProfileForm(instance=request.user) }) @login_required def insights(request): return render_to_response('insights.html', {'client': request.user.client, 'user': request.user})
Отредактировано sonic911 (Янв. 8, 2018 12:10:37)
Офлайн
Проблема решена. На Mac OS нужно правильно настроить $PATH после установки(пример можно найти на stackoverflow). В моем случае джанго просто не мог найти iconv() поэтому и возникала ошибка, а из-за русской раскладки ошибка закодирована в unicode. + Если кто-то натолкнется на похожую структуру web-приложения сразу используйте render(request, ‘***.html’) - не будет ошибки с csrf_token( не знаю почему она возникает при смене языка)
Офлайн
sonic911PATH до чего? Зачем это, а доке же написано, что команда makemessages должная выполняться внутри каталога джанго-приложения.
На Mac OS нужно правильно настроить $PATH
Отредактировано FishHook (Янв. 9, 2018 11:52:42)
Офлайн