Как сделать проект django исполняемым файлом

Добавил пользователь Skiper
Обновлено: 04.10.2024

Перевод документации Django, с некоторыми изменениями и дополнениями.

Часть информации так же рассмотрена в цикле переводов Django Book – русский перевод, который, однако, пока не завершён.

В этом цикле статей мы рассмотрим создание обычного приложения с опросами.

Приложение будет состоять из двух частей:

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

Предполагается – что Django уже установлен. Что бы убедиться в этом – вы можете выполнить такую команду:

Это руководство написано для Django 1.8 и Python 2.7.

Установка Django на CentOS описана тут:

Создание проекта

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

Перейдите в директорию, в которой хотите создать проект, например:

И выполните такую команду:

Вот как будут выглядеть файлы в нём:

Назначение файлов и директорий тут:

  • Внешний каталог mysite – это корневая директория проекта, просто хранилище для файлов. Для Django её имя не играет роли, и вы можете переименовать её.
  • Файл manage.py – утилита командной строки, которая позволяет вам работать с вашим Django-проектом. Документация по ним доступна на странице django-admin and manage.py.
  • Вложенный каталог mysite – это непосредственно пакет Python с вашим проектом. Его имя – это имя модуля Python, которое вам потребуется при импорте (например – import mysite.urls ).
  • Файл mysite/__init__.py – пустой init-файл, который указывает Python, что это директория модуля.
  • mysite/settings.py – параметры и настройки для данного проекта Django.
  • mysite/urls.py – список URL-ов для вашего сайта, подробнее – смотрите в URL dispatcher.
  • mysite/wsgi.py – точка входа для WSGI-сервера, подробнее смотрите на странице How to deploy with WSGI.

Настройка базы данных

Теперь, откройте для редактирования файл mysite/settings.py . Это – обычный файл Python с переменными, описывающими настройки Django-проекта.

По умолчанию – в настройках указан сервер баз данных SQLite. Если вы новичок в базах данных, или просто хотите попробовать Django – это для вас лучший выбор, так как поддержка SQLite включёна в Python.

Если вы хотите использовать другой сервер баз данных, например – MySQL/MariaDB – вам необходимо изменить тут несколько параметров.

Для начала – создайте базу данных и пользователя (примечание: так как предполагается использование кириллицы в вопросах и ответах – то создадим в UTF-8):

Кроме того – для работы с внешними базами данных – необходимо установить драйвер.

Например – для MySQL/MariaDB его можно установить с помощью PIP:

Теперь – измените параметры в файле settings.py :

    – выберите 'django.db.backends.sqlite3' , 'django.db.backends.postgresql_psycopg2' , 'django.db.backends.mysql'или'django.db.backends.oracle' . доступны и другие бекенды. – имя вашей базы данных. Если вы используете SQLite – это это должен быть полный путь к файлу базы. Значение по умолчанию ( os.path.join(BASE_DIR, 'db.sqlite3' )) создаст файл базы в директории проекта.

Так же, если вы используете не SQLite – то укажите такие параметры:

  • USER – имя пользователя базы данных;
  • PASSWORD – пароль;
  • HOST – хост;

Например, для базы, созданной выше, блок DATABASES будет выглядеть так:

Тут же вы можете установить параметр для часового пояса – TIME_ZONE. Полный список доступен тут>>>.

Так же – обратите внимание на параметр INSTALLED_APPS. Тут указываются имена всех приложений Django, которые будут подключены к вашему Django-проекту.

По умолчанию – Django содержит такие приложения:

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

Эта команда проверяет параметр INSTALLED_APPS и создаёт все необходимые для указанных приложений таблицы:

Сервер разработки

Давайте убедимся, что ваш Django-проект работает. Перейдите в корневой каталог mysite , если вы ещё не в нём, и выполните:

По умолчанию – runserver запускается на 127.0.0.1 и порту 8000 .

Если вы хотите изменить порт – передайте его аргументом:

А что бы изменить IP-адрес – добавьте его перед портом, разделив их двоеточием:

django_1

Полная документация по серверу разработки доступна тут>>>.
Сервер разработки будет сам перезагружаться при каждом изменении кода проекта. Однако, некоторые действия – такие как добавление нового файла, не будут вызывать перезагрузку сервера, и вам придётся сделать это самому.

Создание проекта django

Django - это веб фреймворк написанный на python и реализующий шаблон программирования MVC. Это означает, что данные в нем отделены от макета страницы, и обрабатываются функцией контроллером. По другому MVC - Model, View, Controller. Основное преимущество его в том что можно один раз создать проект, а затем подключать к нему приложения. В этой статье мы рассмотрим процесс установки фреймворка и его запуска.

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

>>>cd my_env2/Scripts
>>>activate.bat


'''
Теперь пакеты устанавливаются в папку Lib/site-packages, что удобно: так как различные версии библиотек могут различаться например Django версия 1.0.0 и 2.0.0. После запуска "virtualenv", в командной строке можно видеть имя активной папки в круглых скобках
'''

'''
Теперь установим фреймворк Django с pip, Django будет установлен в каталог виртуальной среды.
'''
>>>pip install Django==x.x.x

'''
Импортированный ранее модуль Django предоставляет свои отдельные команды для создания начальной структуры проектов и их запуска, для чего в терминале запустим команду:
'''

>>>python manage.py runserver

'''
Вводя в браузере адрес 127.0.0.1:8000 видим что наш сервер успешно запущен.
Так как при создании проекта автоматически привязываются некоторые приложения, то для них в нашей базе данных необходимо создать таблицы или по другому примениnm операцию миграции к нашим данным. В каталоге mysite через cmd используем следующую команду:
'''

В Django есть команда, которая позволяет создать базовую файловую структуру проекта. Напишите следующее в командной строке:

Это создаст проект Django с именем mysite .

Не называйте проекты именами встроенных модулей Python или Django , чтобы избежать конфликтов.

Рассмотрим структуру проекта:

Она включает следующие файлы:

  • manage.py — это утилита для командной строки, которая используется для взаимодействия с проектом. Это тонкая оболочка для django-admin.py . Редактировать этот файл нельзя.
  • mysite/ — это директория проекта, состоящая из следующих файлов:
    • __init__.py — пустой файл, который сообщает Python, что mysite нужно воспринимать как модуль Python.
    • settings.py — включает настройки проекта с параметрами по умолчанию.
    • urls.py — место хранения URL паттернов. Каждый определенный здесь URL используется для представления.
    • wsgi.py — конфигурация для запуска проекта в виде приложения Web Server Gateway Interface (WSGI)

    Сгенерированный файл settings.py содержит настройки проекта, включая базовую конфигурацию для использования базы данных SQLite 3 и список INSTALLED_APPS , с основными приложениями Django. Они добавляются в проект по умолчанию. О них будет рассказано позже в статье “Настройки проекта”.

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

    Появится следующий вывод:

    Эти строки обозначают миграции базы данных Django. Благодаря им создаются таблицы для базовых приложений в базе данных. О команде migrate речь пойдет в статье “Создание и использование миграций”.

    Изначально Django необходимо установить, как установить Django в Linux рассказано здесь, как настроить Eclipse и Sublime Text рассказано здесь и здесь, проект Django можно создать в любом месте (любой папке), это не обязательно должна быть папка /var/www/html к примеру, итак для начала создадим проект используя в терминале django-admin.py:

    Переходим в папку проекта и смотрим результат:

    cd my_page
    ls
    manage.py my_page

    Далее проект можно открыть или добавить в IDE или в моем случае в Sublime Text - Project - Add Folder to Project

    Читайте также: