Архив за [undefined]

Один контекст

Сравнительно недавно поймал себя на мысли, что когда пишу код джанговских шаблонов, то у меня и html и шаблонные теги живут в голове в одном контексте. Т.е. мне долго пришлось себя перебарывать чтобы написать это:

<tr>
{% cache ... %}
    <td>
    ...
    </td>
    <td>
    ...
{% endcache %}
    ...
    </td>
</tr>

-- что было принципиально из-за особенностей верстки. Так и хотелось закрывающий {% endcache %} поставить после последнего </td>.

А у вас так бывает?

Пространства имен

Недавний релиз Джанги 1.1 принес с собой новую фичу - пространства имен урлов. Цель они призваны достичь благую, но увы их механизм пока не очень прозрачен и понятен при первом приближении. Давайте разбираться.

Всё это родилось из идеи иметь несколько админок в одном проекте. И после рефакторинга админки под новые формы это стало возможным. Так же нужно было решить как разделять их урлы и главное как их реверсить по имени. Понятно, что в общем случае имена паттернов урлов разных админок будут пересекаться и однозначно преобразовать имя в урл невозможно. Тогда придумали каждому объекту SiteAdmin давать имя и это имя становилось частью названия паттерна урлов соответствующей админки. Ещё особенностью являлось то, что админка это объект и её урлы скрыты в атрибуте urls, что немного ломало классический способ инклюда урлов Джанги.

Что же сделали? Добавили разделение имен урлов. Причем разделенние на 2 уровня - уровень приложения и уровень инстанса приложения. Так что за приложения и что за инстансы?

Допустим у вас есть приложение foo, в котором присутствует какое-то количество урлов. Раньше хорошей практикой считалось урлы называть с префиксом имени приложения, например foo_index (или ещё каким-то уникальным идентификатором, что делала раньше админка (именем)). Теперь же. использую пространства имен, можно ограничится только index и указать ...