LINUX.ORG.RU

Apache+mod_wsgi+django+matplotlib+unicode

 , , ,


0

1

Есть проект на джанго, в проекте генерируется график, но корявит кодировку, при этом на встроенном веб-сервере джанги всё ОК. Думаю проблема апача с mod_wsgi. Куда копать? export LANG='ru_RU.UTF-8' и export LC_ALL='ru_RU.UTF-8' не прокатили :(

★★★

Последнее исправление: AUX (всего исправлений: 1)

Нужно больше инфы. В каком формате отдаётся график. Думаю, что средствами бэкенда это можно разрулить. Как минимум попробовать отдать заголовок, содержащий нужную кодировку.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte
def graph(request):

    fig=Figure(figsize=(11, 7))

    ax=fig.add_subplot(111)

    x=[]
    y=[]
    #print(request.GET)

    que1= DbavlTestpsqlParam1Test.objects.filter(tm__gte=datetime.datetime.strptime(request.GET.get('dt_first'), '%Y-%m-%d %H:%M:%S'),
                                                 tm__lte=datetime.datetime.strptime(request.GET.get('dt_end'), '%Y-%m-%d %H:%M:%S'))
    print que1.query
    for p in que1:
        #print p
        x.append(p.tm)
        y.append(p.val/100)
    ax.plot(x, y,label=u'Зона 1')
    ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d %H:%M:%S'))
    fig.autofmt_xdate()
    major_ticks = np.arange(0, 1400,100)
    ax.set_yticks(major_ticks)
    ax.grid(True)
    ax.legend(loc='upper left')
    ax.set_ylabel(u'Температура')
    canvas=FigureCanvas(fig)
    response=django.http.HttpResponse(content_type='image/png')
    canvas.print_png(response)
    return response
AUX ★★★
() автор топика
Ответ на: комментарий от AUX

Здесь отдаётся png и апач никак не может повлиять, так как он просто отдаёт картинку. Это должно быть очевидно.

Как вариант, попробовать что-нибудь из этого:

http://s.arboreus.com/2009/04/cyrillic-letters-in-matplotlibpylab.html

http://stackoverflow.com/questions/25142274/how-should-i-setup-matlab-for-cor...

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Через ./manage.py runserver - всё работает отлично.

AUX ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.