В Django существует куча полезных функций и классов, которые помогают выполнять простые и полезные действия раз от разу. Предлогаю Вам свое видение этого списка:
- django.utils.datastructures.SortedDict
- django.utils.datastructures.MultiValueDict
- По умолчанию в Python объект
dictне поддерживает сортировку ключей и несколько значений для одного ключа. Именно поддержку этих возможностей дают перечисленные выше классы. Например, поддержкаGET,POST,REQUESTмассивов в объектеrequestреализована в видеMultiValueDictобъектов. - django.utils.dates
- Этот модуль содержит разнообразные массивы, которые используются для печати SelectDateWidget'а.
- django.utils.encoding.force_unicode
- Переводит любой Python объект в
unicode. Так же переводит вunicodeлюбую модель Django у которой есть метод__unicode__. - django.utils.html.clean_html
- Очищает переданный в функцию HTML строку, а именно:
- Конвертирует
<b>и<i>в<strong>и<em>. - Правильно кодирует все амперсанды.
- Удаляет все
"target"аттрибуты с тегов<a>. - Конвертирует явно заданные баллетсы (bullets) в неупорядоченные HTML списки.
- Удаляет из текста фрагменты
"<p> </p>", но только если они находятся в конце текста.
- Конвертирует
- django.utils.html.urlize
- Переводит все ссылки в тексте в
<a>тэги. - django.utils.safestring.mark_safe
- Обозначает любой строковой объект, как безопасный для того, чтобы он мог был беспрепятственно распечатан в шаблоне без эскейпинга символов.
- django.utils.text.get_text_list
- Для описания работы этой функции и
doctest'а хватит: - >>> get_text_list(['a', 'b', 'c', 'd'])
- u'a, b, c or d'
- >>> get_text_list(['a', 'b', 'c'], 'and')
- u'a, b and c'
- >>> get_text_list(['a', 'b'], 'and')
- u'a and b'
- >>> get_text_list(['a'])
- u'a'
- >>> get_text_list([])
- u''
No comments:
Post a Comment