web.py казнить, нельзя помиловать

Поначалу я загляделся на это фреймворк, глядя на его примеры появляется ложное чувство простоты и понятности, например:

определяем urls

urls = (  '/', 'index', '/blog/.*?-?(\d+).html', 'blog' )

пишем класс обработчик

class index:
    def GET(self):
        posts = db.select(tables='message', limit=5, order =  "id desc",  _test = False)
        return render.blog( posts )

и делаем шаблон

$def with (posts)
   $for m in posts:
      < h1 ><a href="/blog/$m.id">#</a> $m.TITLE</ h1 >
      < div class="ptext">$:m.MESSAGE.replace('src="/upload','src="http://old2.breys.ru/upload')</ div >

вроде всё замечательно, просто и понятно. Но если добавить такие простые и ясные вещи .html в конец ссылки, а так же включить в урл тег страницы то вырастает такая уйня

$if len(m.short_name):
    < h1><a href="/blog/$(m.short_name.replace(' ','_'))-$(m.id).html">#</a> $m.TITLE</h1 >
$else:
    < h1><a href="/blog/$(m.id).html">#</a> $m.TITLE</h1 >

А если копнуть дальше, например довольно редко когда на странице всего один запрос, то начинает дублироваться код аля

tags = db.select(tables='message', what="short_name, count(id) as cnt",  where="id_domen=@id_domen and short_name!=''", group = "short_name",  order =  "cnt desc" , _test = False)

И шаблон начинает пухнуть как на дрожах, так как приходится учитывать особенности питона и грёбанного шаблонизатор

$def with (posts, tags=None, )

А если запросы посложнее чем, select what from [tables] where group order limit offset  то всё скатывается к банальному db.query("set @id_domen = (бла бла бла)")

увольте но писать вот такое кака

$def tr(values):
    < tr>
    $for v in values:
        < td>$v</td >
    </tr >
$def table(rows):
    < table>
    $for row in rows:
        $:row
    </table >

не для меня, а для каких то эксгибионистов

чем сложнее задача, тем сложнее её сделать на этом фреймворке, а учитывая качество документации и примеров за 2001 года - нужно только самим разработчикам

тьфу, две недели потратил зря

Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут