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

В данном разделе размещены заметки по работе с python, которые могут помочь вам в работе с написанием кода и модулей на популярном языке программирования! Читаем и учимся!

Команды для работы с PostgreSQL

Эта статья «Команды для работы с PostgreSQL» поможет показать вам список всех баз данных и таблиц в PostgreSQL и команды для работы с ними. Для начала, войти в PostgreSQL с помощью команды PSQL sudo -u postgres psql и выполнить следующую команду из командной строки PostgreSQL. Вывести все базы в PostgreSQL Вы можете использовать любую из перечисленных команд что ниже, чтобы вывести список всех баз данных в PostgreSQL: \list или \l Вывести все таблицы в PostgreSQL Чтобы просмотреть список таблиц в любой базе данных, сначала необходимо подключиться к этой БД, а затем выполнить команду для просмотра таблиц. Первая команда подключит вас к БД (например: your_DB) в которой вы хотите увидеть таблицы и вторая команда покажет их: \connect your_DB \dt При работе с таблицами испоьзуем обычный SQL синтаксис, например: select * from django_migrations limit 1;

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

Работа с переменными в шаблоне Django требует некоторых манипуляций, следовательно в данной статье мы их и разберем Создайте тег шаблона: Приложение должно содержать templatetagsкаталог, на том же уровне models.py, views.pyи т.д. Если это уже не существует, создайте его — не забудьте __init__.pyфайл , чтобы обеспечить каталог рассматривается как пакет Python. Создайте файл с именем define_action.pyвнутри каталога templatetags со следующим кодом: from django import template register = template.Library() @register.assignment_tag def define(val=None): return val Примечание.@register.assignment_tag используется в Djnago1.9 в Djnago2.0 данный метод устарел и можно воспользоваться @register.simple_tag Примечание. Сервер разработки не будет автоматически перезагружен. После добавления templatetagsмодуля вам нужно будет перезагрузить сервер, прежде чем вы сможете использовать теги или фильтры в шаблонах. Затем в вашем шаблоне вы можете присвоить значения контексту следующим образом: {% load define_action %} {% if item %} {% define «Edit» as action %} {% else %} {% define «Create» as action %} {% endif %} Would you like to {{action}} this item? Пример использования проверки последовательности: from… Читать далее »

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

DEBUG TOOLBAR Конфигурация Панель инструментов отладки содержит две настройки, которые вы можете добавить в модуль настроек вашего проекта, чтобы настроить его поведение. Запись Вам действительно нужна индивидуальная DEBUG TOOLBAR конфигурация? Панель инструментов отладки поставляется с конфигурацией по умолчанию, которая считается разумной для подавляющего большинства проектов Django. Не копируйте и не вставляйте вслепую значения по умолчанию, показанные ниже, в свой модуль настроек! Это бесполезно, и это помешает вам воспользоваться преимуществами лучших настроек по умолчанию, которые могут появиться в будущих версиях. DEBUG_TOOLBAR_PANELS Этот параметр указывает полный путь Python к каждой панели, которую вы хотите включить в панель инструментов. Это работает как настройка MIDDLEWARE в Django. Значение по умолчанию: DEBUG_TOOLBAR_PANELS = [ ‘debug_toolbar.panels.versions.VersionsPanel’, ‘debug_toolbar.panels.timer.TimerPanel’, ‘debug_toolbar.panels.settings.SettingsPanel’, ‘debug_toolbar.panels.headers.HeadersPanel’, ‘debug_toolbar.panels.request.RequestPanel’, ‘debug_toolbar.panels.sql.SQLPanel’, ‘debug_toolbar.panels.staticfiles.StaticFilesPanel’, ‘debug_toolbar.panels.templates.TemplatesPanel’, ‘debug_toolbar.panels.cache.CachePanel’, ‘debug_toolbar.panels.signals.SignalsPanel’, ‘debug_toolbar.panels.logging.LoggingPanel’, ‘debug_toolbar.panels.redirects.RedirectsPanel’, ‘debug_toolbar.panels.profiling.ProfilingPanel’, ] Этот параметр позволяет вам: добавить встроенные панели, которые не включены по умолчанию, добавить сторонние панели, удалить встроенные панели, изменить порядок панелей. DEBUG_TOOLBAR_CONFIG Этот словарь содержит все остальные… Читать далее »

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 Предпосылки Убедитесь, что django.contrib.staticfiles настроен правильно, и добавьте debug_toolbar в настройку INSTALLED_APPS: INSTALLED_APPS = [ # … ‘django.contrib.staticfiles’, # … ‘debug_toolbar’, ] STATIC_URL = ‘/static/’ Если вы выполняете обновление с предыдущей версии, вам следует просмотреть журнал изменений и найти конкретные инструкции по обновлению. Настройка URLconf Добавьте URL панели отладки в URLconf вашего проекта следующим образом: from django.conf import settings from django.conf.urls import include, url # For django versions before 2.0 from django.urls import include, path # For django versions from 2.0 and up if settings.DEBUG: import debug_toolbar urlpatterns = [ path(‘__debug__/’,… Читать далее »

Полная инструкция установки 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 postgresql sudo apt-get install postgresql-server-dev-all sudo apt-get install python-dev sudo apt-get install python-setuptools sudo apt-get install virtualenv sudo apt-get install libjpeg8 libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev sudo apt-get install python-pip Разворачиваем виртуальное окружение и запускаем его virtualenv /home/my_env cd /home/my_env source bin/activate Ставим Джангу, Гуникорн, разворачиваем проект и приложение pip install django gunicorn django-admin startproject my_project cd my_project django-admin startapp my_app Ставим адаптер для postgreSQL pip install psycopg2 Если критует пробуй это sudo apt-get install python3-dev Текстовый редактор и библиотека для картинок, остальное — по желанию pip install django-ckeditor pip install… Читать далее »

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

Вступление Нет ничего хуже, для пользователей интернет сайтов, чем вручную проходит процесс регистрации для получения расширенного доступа к сервису предлагаемому веб сайтом. В процессе регистрации пользователь каждый раз сталкивается с проблемой выдумывания и запоминания надежный паролей. Нежелания каждый раз запоминать пароль может привести к созданию либо несколько учетных записей на сайте или вообще отказа от желания получения сервиса. Современные веб сервисы решают эту проблему с помощью аутентификации через социальные сети. Это решение позволяет не только избавится от необходимости выдумывания нового имени и пароля, но так же значительно уменьшить время регистрации. Эта статья посвящена созданию простого приложение Django, которое позволит пользователям входить через свои учетные записи Facebook, Instagram и LinkedIn. Для этого мы будем использовать библиотеку social-auth-app-django. Мы также узнаем, как извлечь дополнительную информацию, такую как изображение профиля и имя пользователя из соответствующих социальных учетных записей. В конце этого урока у нас будет финальное приложение, которое работает следующим образом: Исходный код этого проекта доступен здесь на GitHub. Предварительные… Читать далее »

Django 1.8. Авторизация через социальные сети с помощью django-social-auth

Авторизация на сайтах через социальные сети очень удобна, не надо заполнять регистрационные формы и т.д., вам достаточно нажать на соответствующую кнопку и вас авторизует сам сайт, при этом нужные данные он сможет получить с сайта источника (той социальной сети, с которой выполняется авторизация). На своих проектах я использую клёвую библиотеку django-social-auth, до неё пробовал django-ulogin, но сам сервис uLogin мне не понравился (мои сумбурные заметки об этом). На пыхе также обсуждали другие библиотеки, в частности loginza, но отзывы о ней плохие, поэтому даже не пробовал. В любом случае сервисы — это сервисы, и зависимость от сервисов это больше проблема (частые падения сервисов, убогие виджеты и внешний вид без кастомизаций и т.п.) чем зависимость от библиотеки, которая проксирует запросы к конечным «социальным сетям». Далее будем обсуждать только django-social-auth. Вообще, нам интересно два репозитория: Основной, от omab; И второй, со свежой поддержкой русских социалок от krvss, в который я пулял фиксы. Регистрации в сетях Для начала нам надо получить ключи от необходимых… Читать далее »

Установка и первичная настройка PostgreSQL на Ubuntu 16.04

Введение PostgreSQL (произносится как «Пост-Грес-Кью-Эл») — свободная современная СУБД с широкими возможностями. Её используют такие компании, как Alibaba, Instagram, Skype, Yahoo и многие другие. Это говорит о надёжности системы, и при этом она является простой в установке, использовании и обслуживании. Поверхностно ознакомиться с ней можно по статье в Википедии: https://ru.wikipedia.org/wiki/PostgreSQL PostgreSQL является кроссплатформенной СУБД с открытым исходным кодом, поэтому её можно установить практически на любой сервер. Все конфигурации серверов и все операционные системы, предоставляемые vscale, позволяют использование PostgreSQL. Рассмотрим установку и настройку на примере Ubuntu 16.04 64bit. Технические требования • Пользователь с sudo-правами • Ubuntu 16.04 Шаг 1. Выбор источника для установки PostgreSQL является очень популярным сервером баз данных, поэтому присутствует в официальных репозиториях Ubuntu. Однако в PPA разработчиков PostgreSQL можно найти самую свежую версию. Например, на момент написания данной инструкции в репозитории Ubuntu имеется PostgreSQL 9.5, а из PPA можно установить 9.6. Если у вас нет потребности в самых последних возможностях… Читать далее »