Питон для начинающих с нуля: изучаем python дома

Зачем учить Python

Каждый язык программирования заточен под выполнение определенных видов задач. Python является языком программирования общего назначения, то есть на нем можно написать практически что-угодно. Можно — не значит эффективно, Python станет хорошим выбором не во всех сферах программирования.

В основном он используется в web-разработке, машинном обучении и анализе данных.

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

Web-разработка

Python — не самый популярный язык для веб-разработки, однако он занимает немалую долю рынка и способен обеспечить вакансиями большое количество web-программистов.

Web-разработка на Python — это, в основном, создание серверной части сайтов и приложений с помощью фреймворков Django и Flask.

Машинное обучение

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

Типичные пример проекта в сфере машинного обучения —  программа, способная распознавать и анализировать объекты на фотографии.

Анализ данных

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

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

Но есть нюанс…

А если попробовать так?

Это серьёзная уязвимость, поэтому от неё нужно избавляться. Для этого нужно (в самом простом случае) экранировать все опасные символы. Это можно сделать с помощью функции escape из модуля html.

Перепишем form.py:

#!/usr/bin/env python3
import cgi
import html

form = cgi.FieldStorage()
text1 = form.getfirst("TEXT_1", "не задано")
text2 = form.getfirst("TEXT_2", "не задано")
text1 = html.escape(text1)
text2 = html.escape(text2)

print("Content-type: text/html\n")
print("""<!DOCTYPE HTML>
        <html>
        <head>
            <meta charset="utf-8">
            <title>Обработка данных форм</title>
        </head>
        <body>""")

print("<h1>Обработка данных форм!</h1>")
print("<p>TEXT_1: {}</p>".format(text1))
print("<p>TEXT_2: {}</p>".format(text2))

print("""</body>
        </html>""")

Результат можете проверить сами.

«Язык программирования PYTHON для начинающих» от egoroff_channel

Пройти курс

Продолжительность: 80 видеозанятий.

Подтверждающий прохождение документ: нет.

Форма обучения: видеоуроки.

Программа обучения:

  1. Установка нужного программного обеспечения.
  2. Программирование на языке Python.
  3. Объекты. Арифметические операции.
  4. Переменные в Python. Основные операторы.
  5. Операции ввода-вывода.
  6. Способы деления.
  7. Логические операторы.
  8. Строковый тип и работа с ним.
  9. Использование списков.
  10. Условный оператор if.
  11. Функция range и итераторы.
  12. Циклы.
  13. Установка и применение дополнительных библиотек.
  14. Методы сортировки.
  15. Вложенные циклы.
  16. Вложенные списки.
  17. Треугольник Паскаля. Коэффициенты для Бинома Ньютона.
  18. Словари и работа с ними.
  19. Кортежи и способы их обработки.
  20. Пользовательские функции и их вызов.
  21. Область видимости.
  22. Рекурсивные функции.
  23. Лямбда-функция и лямбда-выражение.
  24. Генераторы и итераторы.
  25. Коллекции и их сортировка.
  26. Спецсимволы.
  27. Установка дополнительных модулей в Python.
  28. Разновидности вызываемых объектов.
  29. Работа с каталогами и файлами.
  30. Замыкания.
  31. Декораторы функций.
  32. Подготовка данных к передаче.
  33. Работа со сторонними программами.

Чему научитесь:

  • освоите основы синтаксиса языка Python;
  • познакомитесь с принципами ООП;
  • научитесь взаимодействовать с другими приложениями;

Преимущества курса:

  • подробный разбор каждой темы;
  • курс подойдёт как новичкам, так и опытным разработчикам;
  • возможность изучения в любое время;
  • не требуется регистрация.

Списки, кортежи, множества и словари

Списки, кортежи, множества и словари – еще 4 типа данных в Питоне, включающие в себя несколько значений и являющиеся итерируемыми (перебираемыми, как строки).

Особенности показаны в таблице 3.

Список (list) Кортеж (tuple) Множество (set) Словарь (dict)
Изменяемый Неизменяемый Изменяемое Изменяемый
Значения могут дублироваться Значения могут дублироваться Значения не могут дублироваться Ключи не могут дублироваться
Доступ по индексу возможен Доступ по индексу возможен Доступ по индексу невозможен Есть доступ к ключам и значениям

Таблица 3 – Коллекции данных в Python

Список – последовательность произвольных элементов, разделенных запятой. Обозначается квадратными скобками. Можно доставать отдельные составляющие через индекс, добавить в начало списка или конец те или иные значения, удалить элементы, узнать длину, отсортировать.

Рассмотрим часть функционала.

Результат работы скрипта:

Когда необходимо запретить изменение коллекции, ее удобно представлять в виде кортежа. Более того, он занимает меньшее количество в памяти. Записывается в круглых скобках.

На их основании также возможны срезы, доступ по индексу, нахождение максимума или минимума (если элементы представлены числами), поиск количества вхождений значений.

Результат работы скрипта:

Множества хороши в ситуациях, когда нужна гарантия уникальности всех элементов. Задаются фигурными скобками. При добавлении дубликата размер сета никак не меняется

Важно и то, что порядок объектов внутри множества не гарантирован, что исключает доступ по индексу

Результат работы скрипта:

Словарь – особый тип коллекций. Все его элементы состоят из пар «ключ: значение». Ключ должен быть уникальным, а значения могут повторяться. Обозначается фигурными скобками.

Рассмотрим некоторые операции со словарями.

Результат работы скрипта:

Таким образом, в зависимости от ситуации применяется тот или иной тип коллекций. Чаще всего это списки и словари.

Создаем первого бота на Selenium.

Selenium — это библиотека для автоматизации действий в браузере.

Данный способ подойдет для любого сайта, однако, за все нужно платить. Selenium запускает браузер, отъедая огромный запас оперативной памяти. Используйте его только тогда, когда нужно выполнить JS код на странице.

Первым делом нужно установить библиотеку, для этого введите в консоли:

Далее, установите веб-драйвер под браузер Firefox отсюда. Также, необходимо установить браузер Mozilla Firefox, если еще не установлен.

Теперь напишем простейшего бота. Для этого, напишите следующий python скрипт.

Далее, переместите файл скрипта, в одну папку с веб-драйвером geckodriver.exe

И запустите python скрипт. У вас должен открыться браузер.

В адресной строке видна иконка робота, это значит, что браузером управляет программа.

Хорошо, бот создан, но он бесполезен. Единственное на что он способен, это заходить на сайт. Давайте добавим ему новых функций. Например, сделаем так, чтобы бот лайкал посты на сайте.

Установка Django через pipenv

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

Shell

$ cd ~/Desktop
$ mkdir django
$ cd django

1
2
3

$cd~Desktop

$mkdirdjango

$cddjango

Теперь используем Pipenv для инсталляции Django.

Shell

$ pipenv install django==3.0

1 $pipenv install django==3.0

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

Shell

$ pipenv shell

1 $pipenv shell

При работе на Ubuntu вы увидите, что название текущей директории в командной строке взято в скобки. Это значит, что виртуальное окружение активировано. Будучи внутри папки , перед знаком командной строки мы увидим .

Стоит иметь в виду, что из-за в системе Windows, сейчас нет возможности получить визуальное подтверждение об активации виртуального окружения. Однако в следующей секции можно запустить — тогда станет ясно, что виртуальное окружение Django установлено должным образом.

Shell

(django) $

1 (django)$

Все работает! Теперь создаем новый проект Django под названием при помощи следующей команды. Не забудьте в конце поставить точку.

Shell

(django) $ django-admin startproject test_project .

1 (django)$django-admin startproject test_project.

Немного остановимся на причине использования точки (.) в предыдущей команде. Если вы просто запустите то Django по умолчанию создаст следующую структуру:

Структура

Shell

└── test_project
├── manage.py
└── test_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

1
2
3
4
5
6
7

└──test_project

├──manage.py

└──test_project

├──__init__.py

├──settings.py

├──urls.py

└──wsgi.py

Как видите, создается новая директория , в ней файл и еще одна директория . Чувствуется повторение, ведь ранее мы уже создали директорию на рабочем столе и переместились в нее. Будет лучше выполнить команду с точкой на конце. Это нужно для установки в данную конкретную папку — на сей раз результат будет таков:

Структура 

Shell

├── manage.py
└── test_project
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

1
2
3
4
5
6

├──manage.py

└──test_project

├──__init__.py

├──settings.py

├──urls.py

└──wsgi.py

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

Осталось убедиться, что все работает. Для этого запустим локальный веб-сервер Django.

Shell

(django) $ python manage.py runserver

1 (django)$python manage.pyrunserver

Мы получим такой ответ:

Shell

Watching for file changes with StatReloader
Performing system checks…

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run ‘python manage.py migrate’ to apply them.

May 05, 2020 — 12:36:09
Django version 3.0, using settings ‘test_project.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

1
2
3
4
5
6
7
8
9
10
11
12

Watching forfilechanges with StatReloader

Performing system checks…

System check identified no issues(silenced).

You have17unapplied migration(s).Your project may notwork properly untilyou apply the migrations forapp(s)admin,auth,contenttypes,sessions.

Run’python manage.py migrate’toapply them.

May05,2020-123609

Django version3.0,using settings’test_project.settings’

Starting development server athttp127.0.0.18000

Quit the server with CONTROL-C.

При посещении откроется следующая страница:

Приветственная страница Django

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

Shell

(django) $ exit

1 (django)$exit

Вновь активировать виртуальное окружение можно в любое время. — для этого используется команда в терминале.

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

Будет не лишним отметить, что через командную строку за раз можно активировать только одно виртуальное окружение. Мы будем создавать новое виртуальное окружение для каждого проекта. По этой причине перед созданием нового проекта не забывайте выходить из текущего окружения через или открывайте другие вкладки для новых проектов.

Почему Python?

Python является одним из наиболее динамично развивающихся языков программирования в мире благодаря своей простоте и универсальности. Он достаточно прост в изучении и понимании синтаксиса. При этом достаточно мощный по своим возможностям. На нем можно писать как простенькие скрипты, так и сложные приложения и даже некоторые виды игр. Еще одним плюсом языка Python является его кросс-платформенность, т.е. написанный код будет работать на любой операционной системе и на устройствах различного типа – от компьютера до смартфона. Главное – установить интерпретатор языка Python на устройство в нужной версии и можно выполнять код. Если вы новичок в программировании и разработке программного обеспечения, то изучение языка Python будет отличным вариантом для применения получаемых знаний на практике, а мощь и универсальность языка позволит легко переключаться между проектами различного назначения без необходимости кардинального переобучения.

Использование запросов в Python

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

Каждый раз, когда вы нажимаете на ссылку, мы отправляем HTTP (протокол передачи гипертекста) запрос на сервер страницы запросов.

Получив запрос, сервер отправляет нам обратно нужный контент, который мы у него запросили. Два самых полезных HTTP-запроса, которые мы собираемся изучить, – это запросы GET и POST.

В следующем разделе мы узнаем, как использовать эти методы с библиотекой запросов. Но сначала нам нужно импортировать его в ваш скрипт или интерпретатор.

import requests

1. ПОЛУЧИТЬ запрос

Этот метод используется для указания на то, что мы запрашиваем содержимое выбранного нами URL-адреса с сервера. Итак, допустим, мы хотим получить домашнюю страницу Google, используя наши HTTP-запросы.

Введите следующую строку.

r = requests.get("http://google.com")

Вот что делает одна строка кода: он отправляет запрос HTTP GET на домашнюю страницу Google с помощью метода get (), где URL-адрес указан в качестве аргумента. И объект ответа хранится в нашей переменной ‘r’.

Экземпляр нашего объекта ответа дополнительно классифицирует сохраненные данные и сохраняет их в соответствующих атрибутах. Вот пример ниже

print(r.status_code) 
#The output provides the status code for the url. For a success full attempt, the result is 200

print(r.headers)
#The following attribute returns a python dictionary containing key-value pair of the headers

print(r.text)
#This command prints out the response content from the server or Static Source Code. 

print(r.encoding)
r.encoding = 'utf-8' 
#Requests library also allows you to see or change the encoding of the response content. 

2. Передача параметров с помощью метода GET

Часто один метод GET не позволяет нам найти всю информацию, к которой нам нужен доступ, поэтому нам нужно передать дополнительные параметры с нашим исходным запросом get.

Параметры в основном представляют собой пары ключ-значение данных, заключенных в кортеж или список . Мы можем отправить его, используя параметр params нашего метода get ().

См.Синтаксис, чтобы следовать дальше.

import requests 
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('http://httpbin.org/get', params=payload)
print(r.text)

Выход:

{
  "args": {
    "key1": "value1",
    "key2": "value2"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.22.0",
    "X-Amzn-Trace-Id": "Root=1-5f9a64d1-2abfc74b2725386140a897e3"
  },
  "origin": 0.0.0.0, 
  "url": "http://httpbin.org/get?key1=value1&key2=value2"
}

3. Запрос на публикацию

В отличие от запросов GET в Python, метод POST в HTTP требует, чтобы с ним была размещена полезная нагрузка. Этот метод используется для отправки данных на сервер, а не для их непосредственного извлечения. В нашей библиотеке запросов мы можем получить доступ к POST с помощью метода post ().

Взгляните на синтаксис:

import requests 
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("https://httpbin.org/post", data=payload)
print(r.text)

Выход:

{
  "args": {},
  "data": "",
  "files": {},
  "form": {
    "key1": "value1",
    "key2": "value2"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "23",
    "Content-Type": "application/x-www-form-urlencoded",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.22.0",
    "X-Amzn-Trace-Id": "Root=1-5f9a6726-276da087230912e01dd5dcd7"
  },
  "json": null,
  "origin": ,
  "url": "https://httpbin.org/post"
}

Установка и настройка среды разработки Python/Django

На этом этапе мы видим перед собой приветственное окно приложения с предложением создать новый проект, открыть существующий или же импортировать из системы контроля версий. Нас же пока интересует первый пункт – Create New Project. Нажимаем его и переходим в созданию нового проекта.

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

Вторая строчка Interpreter отвечает за выбор установленного в системе интерпретатора языка Python. Их может быть несколько, но пока мы не будем вдаваться в нюансы. Сразу отмечу, что для каждого проекта лучше создавать отдельную виртуальную среду (VirtualEnv), которая будет содержать установленные модули, необходимые для конкретного проекта и их настройки и версии не будут влиять на другие проекты. Давайте создадим новую VirtualEnv нажав на шестеренке справа и выбрав пункт Create VirtualEnv.

Для VirtualEnv так же необходимо задать имя, выбрать расположение в файловой системе и версию интерпретатора Python, которая будет использоваться. Я предпочитаю виртуальной среде давать имена аналогичные проекту, чтобы так же легко можно было разобраться для какого проекта она была создана.

Нажимаем ОК и ждем пока закончится процесс создания виртуальной среды. После нажимаем на кнопку Create внизу справа и запускаем процесс создания проекта.

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

Для дальнейших манипуляций открываем Терминал, нажав на кнопку внизу слева.

Программы обучения профессии «Python-разработчик»

Полноценное обучение с нуля до уровня junior-программиста. На многих программах обучения имеется вступительное тестирование на умение пользоваться ПК.

Программа Разработчик Python от otus:

  • Если вы писали личные проекты на Python, но нет опыта промышленной разработки
  • Дадутся объяснения следующих вопросов:
    • Как писать простой и идиоматичный код, за который не будет мучительно стыдно?
    • Как тестировать и поддерживать код на Python?
    • Как написать приложение, которое не умрёт под нагрузкой?

После прохождения курса у вас останется:

  • 1 мини веб-проект
  • богатый список литературы для ознакомления и углубления знаний программистов
  • код и материалы занятий, соединенные вместе в виде jupyter-ноутбуков
  • видеозаписи всех вебинаров занятий
  • проектная работа на интересную вам тему

Цена 56000₽ для новых клиентов otus (скидка 4000₽ в течение 7 дней после регистрации).

Программа Профессия Python-разработчик от skillbox:

  • Научитесь с нуля программировать на Python
  • Изучите основы вёрстки сайтов и web-приложений
  • Освойте популярный фреймворк Django
  • Изучите асинхронное программирование для написания высокопроизводительных приложений
  • Реальный опыт разработки — Реализация искусственного интеллекта роботов для оптимального сбора ресурсов — Вёрстка landing page

Цена 93600₽

Программа Факультет Python-разработки от GeekUniversity:

  • Проектно-ориентированное обучение
  • Совместная разработка
  • Год опыта Python-разработки
  • Множество необходимых для работы навыков
    • Умение создавать клиент-серверные приложения для Desktop
    • Навыки прототипирования мобильных приложений
    • Навыки верстки сайтов на HTML, CSS, Bootstrap
    • Навыки frontend-разработки на Javascript и JQuery
    • Умение создавать сайты на Django Framework
    • Знание алгоритмов и структур данных
    • Умение работать в команде, знание методологий разработки: Agile, Scrum
    • Умение работать с GIT
    • Навыки успешного прохождения собеседований и общения с заказчиками
    • Навыки проектирования архитектуры, использования шаблонов проектирования
    • Умение писать «чистый» код
  • Имеются бесплатные подготовительные курсы для тех, кто не сможет пройти тестирование на знания базовых понятий программирования

Запускаем сайт на Django через Heroku

Можете бесплатно зарегистрироваться на сайте Heroku. После подтверждения электронной почты вы будете перенаправлены на главную страницу.

Главная страница Heroku

Теперь необходимо установить Heroku Command Line Interface (CLI), необходимый для работы с командной строкой. Нам нужно установить Heroku глабально — таким образом он будет. Откройте новую вкладку командной строки при помощи комбинации , которая подходит как для Mac, так и для Windows.

Работая на Mac, в новой вкладке при помощи Homebrew установите Heroku:

Shell

$ brew install heroku/brew/heroku

1 $brew install herokubrewheroku

Пользователям Windows нужно выбрать 32-битную или 64-битную версию установщика на странице загрузки . Для пользователей Linux на сайте Heroku предусмотрены специальные инструкции для установки.

Установка Heroku на Ubuntu

Shell

sudo snap install —classic heroku

1 sudo snap install—classic heroku

После завершения установки можете закрыть используемую вкладку и вернуться к главной вкладке с активным виртуальным окружением .

Наберите команду , после чего используйте только что установленные адрес электронной почты и пароль для Heroku.

1
2
3
4
5

(pages)$heroku login

Enter your Heroku credentials

Emailwill@wsvincent.com

Password*********************************

Logged inaswill@wsvincent.com

Стилизация print

icecream

Для форматирования вывода существует одна удобная библиотека под названием icecream. Она помогает упростить написание логов или принтов для отладки. Рассмотрим пример её работы:

Чтобы подключить информацию о том, в каком месте программы происходит вывод, необходимо добавить всего лишь один аргумент в конфигурации модуля:

Это помогает более точно понять в каком месте происходит сбой в работе программы:

Также можно поменять префикс, который добавляется в начале строки, по дефолту он задан “ic|”. Удобно добавить время для вывода, чтобы видеть в какой момент времени и сколько занимал переход от одного принта к другому.

Если у вас уже имеются расставленные принты в коде, то легко можно переприсвоить print на ic:

Рассмотрим пример вывода более сложных структур, например, словарей:

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

Также эта библиотека предоставляет возможность стилизовать вывод в зависимости от предоставляемых данных. Например, если есть необходимость дополнительно оформлять текст ошибки (Exception) или есть желание дополнительно выводить тип данных:

colorama

Еще одна полезная библиотека — colorama, она позволит раскрашивать текст в консоли. Её удобно использовать совместно с библиотекой icecream. Рассмотрим пару примеров:

Дополнительные материалы

Чтобы обучение языку Python с нуля было максимально эффективным, следует запастись полезными ресурсами.

Книги

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

Далее вы сразу сможете применить полученные знания в 3 крупных проектах: шутер с динамической сложностью, обработка и визуализация большого объёма данных, и веб-приложение на Django, гарантирующее пользователям конфиденциальность.

Возможно, вам уже надоели однотипные и непонятные руководства по программированию. Если да, то рекомендуем к прочтению эту книгу. Она рассчитана на начинающих разработчиков.

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

В этой книге рассказывается о Python 3: функции, типы данных, операторы и принципы ООП. Также из неё вы узнаете о прикладных возможностях языка: регулярные выражения, популярные инструменты стандартной библиотеки и работа с файлами. Тут вы ознакомитесь с системой SQLite, узнаете о способах доступа к базам данных и методах получения информации из них.

Много моментов посвящено модулю PyQt 5, который позволяет без лишнего труда разрабатывать приложения с графической оболочкой на Python.

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

Дополнительные файлы Django-приложения

Перед размещением кода на Heroku, нам понадобится сделать четыре изменения в нашем проекте Pages:

  • обновить ;
  • создать новый файл ;
  • установить на нашем веб-сервере ;
  • изменить строчку в файле .

Внутри уже существующего файла уточним используемую версию Python — в нашем случае 3.8. Для этого добавим в нижней части файла следующие две строчки.

Pipfile

Python

python_version = «3.8»

1
2

requires

python_version=»3.8″

Далее запускаем для генерации подходящего .

Shell

(pages) $ pipenv lock

1 (pages)$pipenv lock

В действительности, в поисках информации о виртуальном окружении, Heroku заглядывает внутрь нашего Pipfile.lock. По этой причине здесь нам пришлось добавить настройку версии языка программирования.

Затем создаем , который является специфическим файлом конфигурации для Heroku.

Shell

(pages) $ touch Procfile

1 (pages)$touchProcfile

Откройте при помощи текстового редактора и добавьте следующее:

Python

web: gunicorn pages_project.wsgi —log-file —

1 webgunicorn pages_project.wsgi—log-file-

Это говорит о том, что нам надо использовать Gunicorn, что является сервером, подходящем для продакшена, в то время как собственный сервер Django работает только в локальном окружении. Устанавливаем gunicorn при помощи Pipenv.

Shell

(pages) $ pipenv install gunicorn==19.9.0

1 (pages)$pipenv install gunicorn==19.9.0

Конфигурация для веб-сервера находится в файле wsgi.py, который Django автоматически создает для каждого нового проекта. Он находится в основной папке нашего проекта. Поскольку наш проект называется , сам файл находится в .

Последний шаг — небольшое изменение в файле . Прокрутите вниз до части и добавьте . Результат должен получиться следующим:

Python

# pages_project/settings.py
ALLOWED_HOSTS =

1
2

# pages_project/settings.py

ALLOWED_HOSTS=’*’

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

Для проверки изменений мы выполним команду , добавляем новые файлы и затем коммитим их:

Shell

(pages) $ git status
(pages) $ git add -A
(pages) $ git commit -m «New updates for Heroku deployment»

1
2
3

(pages)$git status

(pages)$git add-A

(pages)$git commit-m»New updates for Heroku deployment»

Теперь мы можем разместить код на GitHub, создав онлайн копию наших изменений в коде.

Shell

(pages) $ git push -u origin master

1 (pages)$git push-uorigin master

Web2Py

Web2Py — это полнотекстовый фреймворк Python, который привлек разработчиков со всего мира. Это масштабируемый фреймворк, который лично смоделировал IDE в Интернете. Самое лучшее в Web2Py — это то, что это кросс-платформенное приложение с возможностью обслуживания. У него есть удивительная билетная система, которая поможет обнаружить любые системные ошибки.

Web2Py поддерживает Windows, Unix/Linux, Amazon EC2, Mac, Google App Engine и многие другие платформы. Он адаптировал структуру стиля MVC и имеет встроенные компоненты, которые помогут управлять файлами cookie, реакциями, HTTP-запросами и сеансами. Web2Py помог разработчикам довольно быстро создавать индивидуальные веб-приложения и динамический веб-контент. Фреймворк имеет форму и предназначен для оптимизации разработки приложения, гарантируя, что все происходит идеально. Этот фреймворк также имеет интерпретатор Python.

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

Основные характеристики Web2Py:

  • Обратное соответствие.
  • Несколько читаемых протоколов.
  • Защита от различных ошибок.
  • Поддержка переносимости веб-приложений.
  • Модифицируемая эффективность.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector