12 июня 2016 г.

Python: настройка URL's в Django

После того как мы создали приложение с админкой, нам нужно кастомизировать главную страницу нашего блога, чтоб на ней отображались записи которые есть на блоге. Для этого нужно разобраться как работают ссылки в фреймворке Django.

1. Находим файл urls.py - у меня это путь D:\djangopro\blog\blog\blog\urls.py
открываем и вставляем в массив(список) urlpatterns следующую строку 
url(r'', include('blg.urls')),
Напоминаю - blg - так мы назвали наше приложение директория которого будет иметь такое же название и будет находится в директории D:\djangopro\blog\blog, это название еще встречается в файле settings.py(D:\djangopro\blog\blog\blog) в конце списка INSTALLED_APPS.
В результате должно быть такое содержимое urls.py:

Python: Запуск Django проекта

Всем привет, у меня сейчас такая ситуация, очень сложно вспомнить, если долго не работаешь, как запустить сервер с Django проектом который лежит локально.

Для того чтоб такое не повторялось, я создал данную заметку, которая и вам может понадобиться...

Шаг первый: Открываем калькулятор, закрываем!
Шаг номер два: Входим в виртуальное окружение Django
Шаг номер три: запускаем сервер
Для этого я должен попасть в папку в которой находится manage.py










Вот и все, сервер запущен, приложение - сайт работает!!!

23 апреля 2016 г.

Покоряем Python Django - модели

Что то давно ничего не публиковал, поэтому сейчас решил продолжить создания блога на фреймворке Django на винде.

Пробуем создать модель данных...
в папке где находится ваш manage.py выполните команду
python manage.py startapp blg 
еще не до конца понял суть команды, по факту мы создаем приложение над которым и будет вестись основная работа...

В итоге у меня создалась папка с таким содержимым... смотрите ниже

7 апреля 2016 г.

Python: from import для импорта пакетов

Использование инструкции import могут оказаться несколько неудобным для импортирования  пакетов,  потому  что  в  этом  случае  далее  в  программе  вам придется часто вводить полные пути для обращения к именам. В примере из предыдущего раздела, например, приходилось каждый раз вводить полный путь от dir1, когда необходимо было обратиться к переменой z. Если попытаться  непосредственно  обратиться  к  dir2 или  mod,  будет  получено  сообщение  об ошибке:
>>> dir2.mod
NameError: name ‘dir2’ is not defined
>>> mod.z
NameError: name ‘mod’ is not defined

27 марта 2016 г.

Python: Django & PostgreSQL

Привет всем. Сегодня расскажу как подключать бд PostgreSQL(далее как постгрес) к фреймворку Джанго.

Итак, для начала установите pgAdmin. Качал я ее отсюда http://www.postgresql.org/download/ и как всегда самую последнюю версию. Процесс установки - я особо не заморачивался, кликал "далее". Теперь у меня на винде 8.1 есть такой менеджер - аналог phpmyadmin, как pgAdmin.

После этого нужно настроить общение с базой данных, для этого нужно некий драйвер, найти его можно по ссылке http://www.lfd.uci.edu/~gohlke/pythonlibs/ и найдите браузерным поиском такие два названия psycopg2-2.6.1-cp35-none-win32.whl  psycopg2-2.6.1-cp35-none-win_amd64.whl и нажмите на тот который подходит вашей системе и закиньте в папку site-packages которая находится у вас в папке проекта мой пример пути (D:\djangopro\pyblog\Lib\site-packages) также можно ее закинуть в папку с таким же названием но уже в директории где установлен сам Python. Ну а теперь начнем связывать.

22 марта 2016 г.

Донат

Привет всем читателям и случайно попавшим сюда людям, хочу узнать ваше отношение к донату...

Сложилась ситуация, что понадобилось собрать денег на айфон SE и на то чтоб его обмыть)

Как вы относитесь к тому чтоб подкинуть сколько получится?)

Если идея говно  - так и пишите в камментах !)

Python - Пример импортирования пакета


Рассмотрим практический пример программного кода, который демонстрирует, как используются файлы инициализации и пути к каталогам. Следующие три файла располагаются в каталоге dir1 и в подкаталоге dir2 – комментарии описывают пути к этим файлам:
# Файл: dir1\__init__.py
Print(‘dir1 init’)
x = 1

# Файл: dir1\dir2\__init__.py
Print(‘dir2 init’)
y = 2

# Файл: dir1\dir2\mod.py
Print(‘in mod.py’)
z = 3
В данном случае каталог dir1 может быть подкаталогом нашего рабочего каталога (то есть домашнего каталога программы) или подкаталогом одного из каталогов, перечисленных в пути поиска модулей (технически, входящего в список sys.path). В любом из этих случаев для каталога, вмещающего подкаталог dir1, не требуется наличие файла __init__.py.
Инструкции  import  выполняют  файлы  инициализации  в  каждом  каталоге, которые присутствуют в пути к модулю, – инструкции print, присутствующие в этих файлах, позволят отследить их выполнение. Кроме того, как и файлы модулей, уже импортированные каталоги могут передаваться функции reload для  принудительного  повторного  исполнения  этого  единственного  элемента.
Как показано ниже, для повторной загрузки каталогов и файлов функция reload также может принимать цепочку имен, разделенных точками:

17 марта 2016 г.

Настраиваем директорию для Django проекта

Всем привет, в этой статье я помогу вам настроить папку с проектом, и запустить свой сервер с стартовой страницей Django.

Итак для начала создайте папку в которой вы будете хранить все проекты, у меня она будет по такому пути /d/djangopro, находясь в этой директории в консоли выполняем команду virtualenv pyblog у меня создалась папка pyblog с необходимыми модулями для старта проекта. Далее заходим в папку pyblog/Scripts и выполняем команду activate - у меня она сработала в виндовой консоли.

10 марта 2016 г.

Файлы __init__.py пакетов

Если вы решили использовать импортирование пакетов, существует еще одно условие, которое необходимо будет соблюдать: каждый каталог в пути, указанном в инструкции импортирования пакета, должен содержать файл с именем __init__.py, в противном случае операция импорта пакета будет терпеть неудачу. То есть в примере выше каталоги dir1 и dir2 должны содержать файл с именем __init__.py каталог-контейнер dir0 может не содержать такой файл, потому что сам он не указан в инструкции импортирования пакета. Точнее говоря, для такой структуры каталогов:
dir0\dir1\dir2\mod.py
и инструкции импортирования, имеющей следующий вид:
import dir1.dir2.mod
применяются следующие правила:
•  dir1 и dir2 должны содержать файл __init__.py.
•  dir0, каталог-контейнер, может не содержать файл __init__.py – этот файл
будет проигнорирован, если он присутствует.
•  dir0, но не dir0\dir1, должен присутствовать в пути поиска модулей (то есть он  должен  быть  домашним  каталогом  или  присутствовать  в  переменной окружения PYTHONPATH и так далее).

Таким образом, структура каталогов в этом примере должна иметь следующий вид (здесь отступы указывают на вложенность каталогов):

6 марта 2016 г.

Блог на Django. Часть 1 - установка

Всем привет, решил попробовать сделать блог на Django и рассказать "пошаговость" Вам. Первое и самое главное - без чего невозможно будет работать - это установить Python и Django. О совместимостях версий писать не буду так как все есть в гугле)

Итак начнем с установки Python-a. Так как у меня виндовс и к тому же 8.1 будет пробовать делать все под нее. Для того чтоб скачать свежую версию я воспользовался ссылкой https://www.python.org/downloads/ и на данный момент там есть версия 3.5.1, вот ее и возьму.

3 марта 2016 г.

Пакеты и настройка пути поиска

Если вы используете эту возможность, имейте в виду, что пути к каталогам в инструкции import могут содержать только имена переменных, разделенные точками. Здесь нельзя использовать синтаксис путей к каталогам, специфичный для текущей платформы. Например, C:\dir1.My Documents.dir2 или ../dir1 – это недопустимый синтаксис. Напротив, в настройках путей поиска модулей используется платформозависимый синтаксис – для именования необходимых каталогов-контейнеров.

Так, в предыдущем примере dir0 – это имя каталога, которое требуется добавить в путь поиска модулей и которое может иметь произвольную длину и путь, с учетом специфики используемой платформы, ведущий к каталогу dir1. Вместо того, чтобы использовать ошибочный синтаксис, как показано ниже:
import C:\mycode\dir1\dir2\mod     # Ошибка: недопустимый синтаксис

Добавьте путь C:\mycode в переменную окружения PYTHONPATH или в файл .pth
(предполагается, что это не домашний каталог программы, поскольку в этом случае этот шаг не является необходимым) и используйте такую инструкцию:
import dir1.dir2.mod.
В сущности, записи в списке путей поиска модулей содержат платформозависимые пути к каталогам, которые ведут к самым левым именам в цепочках, Основы операции импортирования пакетов представленных  в  инструкциях  import,  а  сами  инструкции  import  содержат окончание пути к каталогам платформонезависимым способом.

15 декабря 2015 г.

Основы операции импортирования пакетов

До сих пор, импортируя модули, мы загружали файлы. Это типичный способ использования модулей и, скорее всего, этот прием будет вами использоваться наиболее часто в начале вашей карьеры программиста на языке Python. Однако возможности импортирования модулей немного богаче, чем я предлагал вам считать до настоящего момента. 
Помимо возможности импортировать имя модуля существует возможность импортировать имена каталогов. Каталог на языке Python называется пакетом, поэтому такая операция импортирования называется импортированием пакетов. В действительности, операция импортирования пакета превращает имя каталога в еще одну разновидность пространства имен, в котором атрибутам соответствуют подкаталоги и файлы модулей, находящиеся в этих каталогах.

29 ноября 2015 г.

Функция reload, углубляемся, примеры

Приведем более конкретный пример использования функции reload. В следующем примере мы изменяем и повторно загружаем файл модуля без остановки интерактивного сеанса работы с интерпретатором Python. Повторная  загрузка  может  использоваться  в  различных случаях  , но мы рассмотрим лишь самый простой пример. Во-первых, в текстовом редакторе создайте файл модуля с именем changer.py и добавьте в него следующее содержимое:

21 ноября 2015 г.

Основы использования функции reload

В отличие от инструкций import и from:
•  reload – это не инструкция, а функция.
•  Функции reload передается существующий объект модуля, а не имя.
•  В Python 3.0 функции reload находится в модуле imp, который требуется импортировать, чтобы получить доступ к функции. Функция reload ожидает получить объект, поэтому к моменту ее вызова модуль уже должен быть успешно импортирован (если операция импорта оказалась неудачной из-за синтаксических или каких-либо других ошибок, вам может потребоваться повторить ее, прежде чем можно будет повторно загрузить модуль).

15 ноября 2015 г.

Повторная загрузка модулей

Как мы уже видели, программный код модуля по умолчанию запускается всего один раз за все время работы программы. Чтобы принудительно повторно загрузить модуль и запустить программный код в нем, необходимо явно вызвать встроенную функцию reload. В этом разделе мы исследуем, как использовать возможность повторной загрузки модулей, чтобы сделать систему более динамичной. В двух словах:
•  При  вызове  операции  импортирования  (с  помощью  инструкций  import и from) программный код модуля загружается и выполняется, только когда модуль импортируется в первый раз за время работы программы.
•  При последующих попытках импортировать модуль будет использоваться объект уже загруженного модуля. Повторная загрузка и запуск программного кода в этом случае не происходит.

11 ноября 2015 г.

Вложенные пространства имен

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

30 октября 2015 г.

Хэллоуин

Привет питонщики, сегодня во всех офисах празднуют Хэллоуин.
Поздравляю вас с ним... вот информация-ссылка на мой сайт вам о нем
https://picasto.ru/hjellouin/halloween---hjellouin.html

С праздником!!!

4 октября 2015 г.

Импортирование и области видимости

Как  мы  уже  знаем,  невозможно  получить  доступ  к  именам,  определенным в другом модуле, не импортировав его предварительно. То есть вы никогда автоматически не получите доступ к именам в другом файле, независимо от вида импортируемого модуля и вызовов функций в вашей программе. Смысл переменной всегда определяется местоположением операции присваивания в программном коде, а для обращения к атрибутам всегда необходимо явно указывать объект.

19 мая 2015 г.

Что бы вы хотели узнать?

Все наверно заметили что большинство статей взяты из книги... что кстати не скрывалось. Из книги копировать скучно и не интересно... 
Так вот такой вопрос, в какой бы теме вы хотели разобраться и какую создать мини программу.

Так же если у кого то есть интересные уроки (текст, видео) в которых учат создавать хорошие и интересные программы, возможно и игры, пишите в комментариях ссылки, будет интересно посмотреть.

А так же кликайте по рекламе )

13 января 2015 г.

Квалификация имен атрибутов

Здравствуйте посетители и читатели. Перед тем как начну, хочу поздравить всех с наступившим новым 2015 годом и с прошедшими праздниками. Ну и всем удачи и успехов в поисках работы или же просто в работе... так как от нее будет зависеть - то, на сколько Вам сладко придется жить :)

Немного напомню, что в моих постах информации из замечательной книги... Сам я в питоне пока не шарю, так как я веб программист который в основном сталкивается с РНР,НТМЛ и т.д. - но в последнее время ЯваСкрипт начинает нравиться... думаю скоро выложить на своем втором блоге - про рнр информацию о том, на сколько нужно шарить, чтоб пройти хотяб на джуниора и немножко выше, а так же я постараюсь создать блог на yii с небольшим обьяснением. Ну и собственно ссылка на мой второй блог - http://phpekurs.blogspot.com/ надеюсь я не буду затягивать со временем выпуска материалов как это бывает с этим блогом. Ну что ж, теперь приступим к теме....

После  ознакомления  с модулями  мы  должны  поближе  рассмотреть  понятие квалификации имен. В языке Pythonдля доступа к атрибутам любого объекта используется синтаксис квалификации имени object.attribute.