Архив рубрики: Django

Сериализация QuerySets. Получить запрос в sql виде

Используя pickle для QuerySet, будет выполнен запрос к базе данных что бы загрузить данные в память для сериализации. Сериализация обычно используется перед кэшированием QuerySet или загрузкой из кеша, необходимо что бы результат был доступен для использования сразу после загрузки (чтение с базы данных занимает некоторое время, что свело бы всю пользу кэширования к нулю). Это означает что после восстановления сериализованного QuerySet, он будет содержать результат на… Читать далее »

Кэширование Django. Оптимизация производительности Django проектов (часть 3)

В этой части серии мы рассмотрим важнейший подход к обеспечению высокой производительности — кэширование. Суть кэширования в том, чтобы размещать часто используемые данные в быстром хранилище для ускорения доступа к ним. Важно понять, что быстрое хранилище (например, оперативная память) часто имеет очень ограниченный объем и его нужно использовать для хранения только тех данных, которые с большой вероятностью будут запрошены. Кэш… Читать далее »

Работа с базой данных. Оптимизация производительности Django проектов (часть 2)

Это продолжение серии статей про оптимизацию Django приложений. Первая часть доступна здесь и рассказывает о профилировании и настройках Django. В этой части мы рассмотрим оптимизацию работы с базой данных (модели Django). В этой части часто будет использоваться логирование SQL запросов и DDT, про которые написано в первом посте. Работа с базой данных во всех примерах будет использоваться PostgreSQL, но для пользователей других… Читать далее »

Получить все поля модели с его значениями Django

Для получения значений из модели Django и дальнейшего их использования и манипуляций с ними можно воспользоваться подобным простеньким скриптом. Я использовал его для создания формы фильтрации по всем полям и приводил типы к виду для html разметки: type_filter ={ ‘CharField’: ‘text’, ‘TextField’: ‘textarea’, ‘IntegerField’: ‘IntegerField’, ‘DateField’: ‘DateField’, ‘AutoField’: », ‘ForeignKey’: » } your_fields = Your_model._meta.local_fields filter = dict() for f… Читать далее »

Профилирование и настройки Django. Оптимизация производительности Django проектов

Это первая статья из серии, здесь будут рассмотрено профилирование и настройки Django. Django это мощный фреймворк используемый в множестве отличных проектов. Из коробки в нем включено много полезных батареек, которые значительно ускоряют разработку и соответственно уменьшают ее стоимость. Однако, когда проект растет и набирает аудиторию, вы неизбежно столкнетесь с проблемами производительности. В этом посте я попробую рассказать о том с… Читать далее »

Django работа с переменными в шаблоне

Работа с переменными в шаблоне Django требует некоторых манипуляций, следовательно в данной статье мы их и разберем Создайте тег шаблона: Приложение должно содержать templatetagsкаталог, на том же уровне models.py, views.pyи т.д. Если это уже не существует, создайте его — не забудьте __init__.pyфайл , чтобы обеспечить каталог рассматривается как пакет Python. Создайте файл с именем define_action.pyвнутри каталога templatetags со следующим кодом: from django import template register = template.Library()… Читать далее »

DEBUG TOOLBAR Конфигурация

DEBUG TOOLBAR Конфигурация Панель инструментов отладки содержит две настройки, которые вы можете добавить в модуль настроек вашего проекта, чтобы настроить его поведение. Запись Вам действительно нужна индивидуальная DEBUG TOOLBAR конфигурация? Панель инструментов отладки поставляется с конфигурацией по умолчанию, которая считается разумной для подавляющего большинства проектов Django. Не копируйте и не вставляйте вслепую значения по умолчанию, показанные ниже, в свой модуль… Читать далее »

Django Debug Toolbar установка

Установка Каждый из следующих шагов должен быть настроен, чтобы Django Debug Toolbar работал корректно Полуить код Рекомендуемый способ установить Django Debug Toolbar через pip: $ pip install django-debug-toolbar Если вы не знакомы с pip, вы также можете получить копию каталога debug_toolbar и добавить его к библиотекам Python. Это можно осуществить с помощью следующей команды: $ pip install -e git+https://github.com/jazzband/django-debug-toolbar.git#egg=django-debug-toolbar Предпосылки… Читать далее »

Полная инструкция установки Python Django Postgres Nginx

sudo nano /etc/default/locale LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LC_TYPE=en_US.UTF-8 locale-gen en_US.UTF-8 dpkg-reconfigure locales Создаем нового пользователя: root@servername:#> useradd username -s /bin/bash -g sudo -m -p pass root@servername:#> passwd username Ставим nginx (на хостинге, скорее всего уже установлен): sudo apt-get install nginx Ставим супервизор (будет запускать проект, в случае падения): sudo apt-get install supervisor Устанавливаем postgreSQL, virtualenv, Django и пр. sudo apt-get install… Читать далее »

Django аутентификация с Facebook, Instagram и LinkedIn. social auth app django

Вступление Нет ничего хуже, для пользователей интернет сайтов, чем вручную проходит процесс регистрации для получения расширенного доступа к сервису предлагаемому веб сайтом. В процессе регистрации пользователь каждый раз сталкивается с проблемой выдумывания и запоминания надежный паролей. Нежелания каждый раз запоминать пароль может привести к созданию либо несколько учетных записей на сайте или вообще отказа от желания получения сервиса. Современные веб… Читать далее »