Выделите её мышкой и нажмите Enter
| на поддержку перевода |
|
|
ЯМ:41001223475816
Документация на русском языке для Django стала реальностью. Благодаря новым возможностям движка Sphinx мы можем оперативно дополнять перевод, по мере обновления оригинальной документации.
Хотим добавить ачивки на сайте. Они уже как бы есть, но нет красивых иконок для отображения в профиле и на сайте. Если кто может быстренько и без напряга сделать с десяток, мы были бы благодарны. Обсуждение на форуме.
Запускаю через http://gunicorn.org/ gunicorn -w 4 server:application http://werkzeug.pocoo.org/
from StringIO import StringIO
from werkzeug.exceptions import HTTPException, NotFound
from werkzeug.routing import Map, Rule
from werkzeug.wrappers import Response, Request
import Image
import json
import matplotlib.pyplot as plt
class App(object):
def __init__(self, config=None):
self.default_data = open('marker-icon.png').read()
self.url_map = Map([
Rule('/', endpoint='index'),
Rule('/chart.png', endpoint='chart'),
])
def dispatch_request(self, request):
adapter = self.url_map.bind_to_environ(request.environ)
try:
endpoint, values = adapter.match()
return getattr(self, 'on_' + endpoint)(request, **values)
except HTTPException, e:
return e
def wsgi_app(self, environ, start_response):
request = Request(environ)
response = self.dispatch_request(request)
return response(environ, start_response)
def __call__(self, environ, start_response):
return self.wsgi_app(environ, start_response)
def on_index(self, request):
return Response('Main page')
def on_chart(self, request):
try:
chart_data = json.loads(request.args.get('d'))
data = self.create_chart(chart_data)
except (KeyError, IndexError, ValueError):
data = self.default_data
return Response(data, mimetype='image/png')
application = App()
Пожалуйста, дайте нам знать, если что-то не работает.
Еще ловить ошибки и логировать куда-то.