Как помощник в направляющих:
def tag_cloud (strings, counts)
max = counts.max
strings.map { |a| "<span style='font-size:#{((counts[strings.index(a)] * 4.0)/max).ceil}em'>#{a}</span> " }
end
Вызов это от представления:
<%= tag_cloud($artists, $counts) %>
Это производит <span style='font-size:_em'>
элементы в массиве, который будет преобразован в строку в представлении для окончательного рендеринга как так:
<span style='font-size:3em'>the roots</span>
<span style='font-size:2em'>michael jackson</span>
<span style='font-size:4em'>billy idol</span>
<span style='font-size:1em'>more</span>
<span style='font-size:1em'>and more</span>
<span style='font-size:2em'>and_YET_MORE</span>
было бы лучше иметь class
атрибут и сослаться на классы в таблице стилей, как упомянуто Brendan выше. Намного лучше, чем использование h1-h6
семантически и существует меньше багажа стиля с <span>
.
Я столкнулся с аналогичными проблемами. Стандартный способ Django - отключить кеш для аутентифицированных пользователей.
#settings.py
CACHE_MIDDLEWARE_ANONYMOUS_ONLY=True
Он отлично работает, если разные пользователи видят разные страницы (например, их имя пользователя на них) и у вас не может быть для них одной версии.
Но если есть только 2 версии страницы: для аутентифицированных пользователей и для в других случаях нецелесообразно полностью отключать кеш для аутентифицированных пользователей. Я написал приложение , которое, помимо всего прочего, позволяет точно настроить кеш в этом случае.
Обновление.
Кстати: вы упомянули, что когда вы нажимаете кнопку «Обновить», нужная версия страницы получен. Это означает, что проблема связана с кешем на стороне клиента (заголовок Expires или E-tag), а не с кешем сервера.
С точки зрения защищенной паролем части сайта, проверяете ли вы, зарегистрирован ли пользователь или анонимен, прежде чем получать данные (и, возможно, переносить данные из кеша)?
Вам следует . Django поможет вам, имея декоратор, требующий входа в систему, который вы можете разместить в представлении. Взгляните на это: http://docs.djangoproject.com/en/dev/topics/auth/#the-login-required-decorator