Создание своего собственного AMI—ArcGIS for Server

На главнуюНачало работыСервисы публикацииСоздание веб-приложенийАдминистрированиеОблако

Наверх

Amazon Machine Image (AMI) определяет программы и настройки, которые будут применяться, когда вы запустите экземпляр EC2. Когда вы закончите настройку данных, сервисов и приложений на своем экземпляре ArcGIS Server, вы сможете сохранить свою работу как пользовательский AMI, сохраненный в Amazon EC2. С помощью этого пользовательского AMI вы сможете уменьшить масштаб своего сайта и запустить дополнительные экземпляры.

Когда вы создаете сайт с использованием ArcGIS Server Cloud Builder on Amazon Web Services, вам необязательно знать, как сохранить пользовательский AMI. Вы создаете и используете шаблоны сайта, которые скрытно управляют за вас пользовательскими AMI. Инструкции по началу работы см. в разделе Создание шаблона сайта.

Если вы решили создавать сайт ArcGIS Server с помощью AWS Management Console, создайте пользовательский AMI и запустите экземпляры вручную, следуя инструкциям настоящего раздела.

Когда вы запустите новые экземпляры с помощью пользовательского AMI, поместите их под балансировщик Amazon Load Balancer, создавая, таким образом, архитектуру SILO. Тем не менее, данная архитектура не предоставляет ГИС-серверам никакого способа для сообщения друг с другом. Если вы хотите извлечь все преимущества новейшей архитектуры ArcGIS Server, постройте свой сайт с помощью ArcGIS Server Cloud Builder on Amazon Web Services.

Создание пользовательских AMI копирует любые прикрепленные вами тома Elastic Block Store (EBS). Это скажется на ваших затратах при развертывании пользовательского AMI. Например, к вашему нынешнему экземпляру EC2 может быть прикреплен том EBS размером 100 Гб. Если вы со своего экземпляра создадите пользовательский AMI и развернете его пять раз, то вы заплатите за пять новых экземпляров EC2 и пять 100-гигабайтных томов EBS.

Придерживайтесь ниже описанной процедуры для создания своего собственного AMI с помощью Консоли управления AWS:

  1. Настройте экземпляр EC2 и его прикрепленные тома EBS точно так, как вы хотите, чтобы они были созданы на пользовательском AMI.
  2. Выполните выход из вашего экземпляра, но не останавливайте его и не выключайте.
  3. Войдите в Консоль управления AWS, отобразите страницу EC2 для вашего региона и нажмите Экземпляры.
  4. Выберите экземпляр, из которого вы хотите создать пользовательский AMI.
  5. Щелкните Действия и выберите Создать образ.
  6. Введите легко узнаваемое для вас имя для Имени образа и дополнительно введите текст для Описания образа.
  7. Щелкните Создать образ.
  8. Прочитайте появившееся сообщение. Для просмотра статуса AMI перейдите на страницу AMIs. Вы увидите, как создается ваш AMI. Для создания AMI потребуется некоторое время. Рассчитывайте по меньшей мере на минут 20 или более того, если у вас установлено много дополнительных приложений или данных.

Запуск экземпляра из пользовательского AMI производится так же, как и запуск из ArcGIS for Server AMI; однако, на первой странице мастера Мастер запроса экземпляров необходимо щелкнуть закладку Мои AMI и выбрать свой пользовательский AMI. Если в списке имеется много AMI, то свой AMI вы сможете распознать с помощью поля Имя, в котором содержится имя образа, введенное вами при создании AMI.

Внимание:

AMI, создаваемые с помощью программного обеспечения ArcGIS, предназначены для индивидуального использования только в целях настройки вашего собственного развертывания ArcGIS for Server на Amazon. Они не предназначены для передачи третьим лицам или совместному использованию с третьими лицами.


Отзыв по этому разделу?

Создание своего Live-образа Fedora / Хабр

Немного предыстории

Недавно, после очередного неудобного сетапа Windows в университете, меня посетила мысль загружать Linux с флешки, которая всегда со мной, и использовать его при работе где бы то ни было. Казалось бы, всё просто – взять условный Debian/Alpine/Arch Linux, установить его в раздел в loop устройстве, записать получившийся сырой образ диска на флешку и всё готово, но это далеко не то, чего бы я хотел.

У данного подхода есть свои плюсы и минусы, пожалуй начну с минусов:

  • Разного рода компоненты, например Xorg и systemd-journald, могут писать свои логи на диск для долгосрочного хранения, а флеш-память, как мы знаем, не вечная.

  • Система не защищена от перезаписи – даже смонтировав rootfs в ReadOnly, никто не мешает перемонтировать его и натворить бед.

  • Такой линукс без танцев с бубном при надобности не установить на диск.

А так же плюсы:

  • Возможность хранить данные и всегда иметь какие-то документы с собой.

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

  • Полная свобода при создании своего рабочего окружения.

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

Сам процесс создания образа

Изначально я планировал использовать pungi с его огромным функционалом и гибкостью, но он слишком сильно завязан на Koji, так что мой выбор пал на livemedia-creator, который вполне справляется с данной задачей.

Утилита livemedia-creator из пакета lorax использует установщик из семейства RHEL – Anaconda, которая в свою очередь использует сценарии Kickstart для формирования системы.

Данная операция требует как минимум 10 Гб свободного пространства на диске. Для начала установим пакеты:

# dnf install lorax-lmc-novirt pykickstart

Эти пакеты необходимы для непосредственно создания Live-образа и формирования одного Kickstart файла, чтобы избежать ошибок в Anaconda. Далее необходимо определиться с релизом Fedora (или другого RHEL-подобного дистрибутива) для нашего Live-образа, в моём случае это Fedora 37. Так как моя версия 36-ая, сценарии Kickstart из пакета spin-kickstarts от Fedora 36 для 37-ой не совсем подойдут, поэтому установим еще Git:

# dnf install git

Альтернативный вариант

Но если желаемая версия совпадает с той, где будет проводиться процесс создания образа, можно установить и сам пакет spin-kickstarts:

# dnf install spin-kickstarts

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

$ git clone https://pagure. io/fedora-kickstarts --depth=1 -b f37

Так как моя цель не просто создать собственный Live-образ, который от представленного на сайте Fedora Linux будет отличаться лишь более свежими пакетами и датой создания, а заполучить полноценное окружение для работы с возможностью при необходимости установить его на диск, я перехожу в директорию клонированного репозитория и создаю файл

fedora-live-custom.ks с нужными мне программами, например GNOME Builder и Telegram Desktop. Вот его содержимое:

# Включим основной файл Fedora Workstation под LiveCD
%include fedora-live-workstation.ks
# Добавим репозиторий RPM Fusion Free
repo --name="rpmfusion-free" --metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
%packages
# Добавим несколько пакетов
clapper
cntlm
gnome-builder
gnome-console
gimp
libasan
telegram-desktop
vim
# И группу пакетов для разработки
@development-tools
# А так же уберём несколько пакетов
-gnome-music
-gnome-terminal # gnome-console на gtk4 вполне его заменяет
-gnome-terminal-nautilus
-xterm # устанавлиивается вместе с каким-то пакетом
%end

Так же туда можно дописать ещё некоторые параметры, например часовой пояс (timezone) или действия после установки пакетов (%post), но это уже зависит от потребностей. Больше информации можно найти в документации сценариев Kickstart.

Далее необходимо сформировать один .ks файл для

livemedia-creator:

$ ksflatten -c fedora-live-custom.ks -o flat-fedora-live-custom.ks -v f37

А теперь самое главное – создание Live-образа. Перепроверьте ещё раз наличие достаточного количества свободного пространства на диске, оно может закончиться в самый неподходящий момент. Для начала отключим защиту SELinux, что необходимо для Lorax:

# setenforce 0

Само создание образа производится одной командой:

# livemedia-creator --make-iso --ks flat-fedora-live-custom.ks --no-virt --iso-only --iso-name Fedora-Workstation-custom-Live-x86_64.iso --volid Fedora-Workstation --releasever 37 --resultdir ./result --nomacboot --project "Fedora Workstation"

Для понимания написанного объясню значения параметров:

  • --make-iso – сообщаем livemedia-creator о создании образа в формате загрузочного ISO

  • --ks flat-fedora-live-custom. ks – выбираем файл сценария Kickstart

  • --no-virt – сообщаем о ненадобности использовать виртуализацию

  • --iso-only – удалить все производные файлы, кроме конечного Live-образа

  • --iso-name – задаём название образа для предыдущего параметра

  • --volid – название корневого раздела в образе диска

  • --releasever 37 – задаём версию дистрибутива

  • --nomacboot – не применяем изменения для загрузки на компьютерах Mac, для желающих есть так же параметр --macboot

  • --project – задаём название проекта, используется к примеру в GRUB

После выполнения команды в директорию ./result/ будет помещён Fedora-Workstation-custom-Live-x86_64.iso. Сам процесс у меня занял 35 минут и больше всего времени у меня ушло к большому удивлению не на медленный DNF, а на сжатие SquashFS и скачивание пакетов.

Приложения в Live-образе

Заключение

Создание своего Live-образа Fedora не является чем-то сложным, если использовать достаточно дружелюбный livemedia-creator. Это не единственный способ создать Live-образы, упомянутый ранее pungi может создавать сразу несколько образов, rootfs в самых разных вариантах, с или без OSTree, с индивидуальными настройками, со своими RPM пакетами, фильтрами, репозиториями и прочим, но это уже тема для отдельной статьи.

Замечу, что на Хабре есть полезная статья о создании LiveCD CentOS, которую можно прочесть здесь в учебных целях.

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

Всем peace!

Как создать новый Apple ID

С помощью Apple ID вы можете получить доступ ко всем устройствам и службам Apple, таким как iCloud, App Store и другим.

  • Создание Apple ID на iPhone, iPad или iPod touch
  • Создание Apple ID на Mac
  • Создайте Apple ID на ПК с Windows
  • Создайте Apple ID на другом устройстве

Не уверены, есть ли у вас Apple ID, или забыли, что это такое? Чтобы найти свой Apple ID, введите свое имя и адрес электронной почты на странице iforgot.apple.com.

Узнайте, как создать Apple ID для вашего ребенка

Создайте Apple ID на своем iPhone, iPad или iPod touch

Вы можете создать новый Apple ID при настройке устройства или настроить его позже в Магазин приложений.

Создайте Apple ID при настройке устройства

  1. Нажмите «Забыли пароль или у вас нет Apple ID?».
  2. Нажмите «Создать бесплатный Apple ID».
  3. Выберите день рождения и введите свое имя. Нажмите «Далее».
  4. Коснитесь «Использовать текущий адрес электронной почты» или коснитесь «Получить бесплатный адрес электронной почты iCloud».
  5. Следуйте инструкциям на экране, чтобы подтвердить свой адрес электронной почты, создать надежный пароль, указать регион устройства и настроить двухфакторную аутентификацию. Если вы решите пропустить этот шаг, вам будет предложено сделать это позже в настройках.

Создайте Apple ID с помощью App Store на своем устройстве

  1. Откройте App Store и нажмите кнопку входа .
  2. Нажмите «Создать новый Apple ID». Если вы не видите эту опцию, убедитесь, что вы вышли из iCloud.
  3. Следуйте инструкциям на экране, чтобы указать адрес электронной почты, создать надежный пароль и указать регион устройства. Указанный вами адрес электронной почты будет вашим новым Apple ID.*
  4. Введите данные своей кредитной карты и платежные данные, затем нажмите «Далее». Вы также можете выбрать Нет. Узнайте, что делать, если пункт «Нет» не отображается или его нельзя выбрать. Вы не будете платить, пока не совершите покупку.
  5. Подтвердите свой номер телефона. Это может помочь подтвердить вашу личность и восстановить учетную запись, если это необходимо. Нажмите «Далее».
  6. Проверьте свою электронную почту, чтобы получить письмо с подтверждением от Apple, и подтвердите свой адрес электронной почты.

После подтверждения адреса электронной почты вы можете использовать свой Apple ID для входа в iTunes Store, App Store и другие службы Apple, такие как iCloud.

* В материковом Китае вам может потребоваться указать номер телефона +86 для вашего Apple ID. Вы можете изменить номер позже или изменить страну или регион на место, где это не требуется. Этот номер используется только для целей проверки.

Apple ID можно создать на устройстве iOS с iOS 9 или более поздней версии.

Создайте Apple ID на своем Mac

  1. Выберите меню Apple  > Системные настройки. В более ранних версиях macOS выберите меню Apple  > Системные настройки.
  2. Нажмите «Войти с помощью Apple ID» на боковой панели. В более ранних версиях macOS нажмите «Войти».
  3. Нажмите «Создать Apple ID», затем следуйте инструкциям на экране, чтобы указать адрес электронной почты, создать надежный пароль и указать регион устройства. Указанный вами адрес электронной почты будет вашим новым идентификатором Apple ID. *
  4. Введите данные своей кредитной карты и платежные данные, затем нажмите «Продолжить». Вы также можете выбрать Нет. Узнайте, что делать, если пункт «Нет» не отображается или его нельзя выбрать. Вы не будете платить, пока не совершите покупку.
  5. Проверьте свою электронную почту, чтобы получить письмо с подтверждением от Apple, и подтвердите свой адрес электронной почты.

После подтверждения адреса электронной почты вы можете использовать новый идентификатор Apple ID для входа в App Store и другие службы Apple, такие как iCloud.

* В материковом Китае вам может потребоваться указать номер телефона +86 для вашего Apple ID. Вы можете изменить номер позже или изменить страну или регион на место, где это не требуется. Этот номер используется только для целей проверки.

Apple ID можно создать на Mac с OS X Capitan или более поздней версии.

Создайте Apple ID на ПК с Windows

  1. Откройте iTunes для Windows. Убедитесь, что у вас установлена ​​последняя версия.
  2. В строке меню в верхней части экрана компьютера или в верхней части окна iTunes выберите «Учетная запись» > «Войти». Затем нажмите «Создать новый Apple ID».
  3. Следуйте инструкциям на экране, чтобы указать адрес электронной почты, создать надежный пароль и указать регион устройства. Указанный вами адрес электронной почты будет вашим новым идентификатором Apple ID.*
  4. Введите данные своей кредитной карты и платежные данные, затем нажмите «Продолжить». Вы также можете выбрать «Нет» и узнать, что делать, если «Нет» не отображается или вы не можете его выбрать. Вы не будете платить, пока не совершите покупку.
  5. Проверьте свою электронную почту, чтобы получить письмо с подтверждением от Apple, и подтвердите свой адрес электронной почты.

* В материковом Китае вам может потребоваться указать номер телефона +86 для вашего Apple ID. Вы можете изменить номер позже или изменить страну или регион на место, где это не требуется. Этот номер используется только для целей проверки.

Создание Apple ID на другом устройстве

Чтобы создать Apple ID на Apple TV, Android-устройстве, Smart TV или потоковом устройстве, обычно можно выполнить действия, указанные на экране, и ввести свое полное имя, дату рождения, адрес электронной почты или номер телефона и способ оплаты. Если вы настроили приложение Apple TV на своем Smart TV, вы можете быть перенаправлены на activate.apple.com для создания своего Apple ID. Вы также можете использовать приведенные ниже шаги, чтобы создать свой Apple ID в Интернете.

Создание Apple ID в Интернете

  1. Перейдите на сайт appleid.apple.com и нажмите «Создать свой Apple ID».
  2. Следуйте инструкциям на экране, чтобы указать адрес электронной почты, создать надежный пароль и указать регион устройства. Указанный вами адрес электронной почты будет вашим новым Apple ID.*
  3. Введите номер телефона, к которому вы всегда можете получить доступ.
  4. Установите флажки, чтобы подписаться на обновления Apple, если хотите. Благодаря этому вы всегда будете в курсе последних новостей, программного обеспечения, продуктов и услуг Apple.
  5. Нажмите «Продолжить».
  6. Следуйте инструкциям на экране, чтобы подтвердить свой адрес электронной почты и номер телефона.

После того, как вы подтвердите свой адрес электронной почты, вы сможете использовать новый Apple ID для входа в iTunes Store и другие службы Apple, такие как iCloud.

* В материковом Китае вам может потребоваться указать номер телефона +86 для вашего Apple ID. Вы можете изменить номер позже или изменить страну или регион на место, где это не требуется. Этот номер используется только для целей проверки.

Если вы видите сообщение о том, что вам нужно войти в iTunes

Если вы создали новый Apple ID в Интернете и видите сообщение о том, что вам нужно войти в iTunes, выполните следующие действия для своего устройства: 

  • На iPhone, iPad или iPod touch: откройте «Настройки», затем нажмите «Войти на [устройство]». Затем войдите в систему, используя свой Apple ID.
  • На Mac: выберите меню Apple  > Системные настройки (или Системные настройки), затем выберите Apple ID и войдите в систему, используя свой Apple ID.
  • На Apple TV: войдите в App Store, iTunes Store или Apple Music, используя свой Apple ID.
  • На ПК: войдите в iTunes, используя свой Apple ID.
  • На устройстве Android: войдите в Apple Music на Android, используя свой Apple ID.

Доступность и функции магазина могут различаться в зависимости от страны или региона.

Дата публикации:

Написание вашего первого приложения Django, часть 1 | Документация Django

Давайте учиться на примере.

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

Он будет состоять из двух частей:

  • Общедоступный сайт, позволяющий людям просматривать опросы и голосовать в них.
  • Сайт администратора, позволяющий добавлять, изменять и удалять опросы.

Предположим, что у вас уже установлен Django. Ты можешь сообщите, что Django установлен и какая версия, выполнив следующую команду в приглашении оболочки (обозначается префиксом $):

/

 $ python -m django --version
 
 ...\> py -m django --version
 

Если Django установлен, вы должны увидеть версию вашей установки. Если это нет, вы получите сообщение об ошибке «Нет модуля с именем django».

Это руководство написано для Django 4.1, который поддерживает Python 3.8 и позже. Если версия Django не совпадает, вы можете обратиться к руководству по ваша версия Django с помощью переключателя версий в правом нижнем углу этой страницы или обновите Django до последней версии. Если вы используете старую версия Python, проверьте Какую версию Python я могу использовать с Django? найти совместимый версия Джанго.

См. Как установить Django, чтобы узнать, как удалить более старые версии Django и установите более новую.

Где получить помощь:

Если у вас возникли проблемы при прохождении этого руководства, перейдите на раздел «Получение справки» часто задаваемых вопросов.

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

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

Из командной строки cd в каталог, где вы хотите сохранить код, затем выполните следующую команду:

/

 $ django-admin startproject mysite
 
 ...\> django-admin startproject mysite
 

Это создаст каталог mysite в вашем текущем каталоге. если бы не работа, см. Проблемы с запуском django-admin.

Примечание

Вам нужно избегать имен проектов после встроенного Python или Django составные части. В частности, это означает, что вам следует избегать использования таких имен, как django (который будет конфликтовать с самим Django) или test (который конфликтует со встроенным пакетом Python).

Где должен жить этот код?

Если вы используете старый добрый PHP (без использования современных фреймворков), вы, вероятно, привыкли размещать код в корневом каталоге веб-сервера (в таком месте, как /var/www ). С Django вы этого не сделаете. Его не очень хорошая идея помещать какой-либо из этих Python-кодов в ваш веб-сервер. корень документа, потому что это может привести к тому, что люди смогут для просмотра кода через Интернет. Это плохо для безопасности.

Поместите свой код в какой-нибудь каталог за пределами корня документа, например /дом/мойкод .

Давайте посмотрим, что создал startproject :

 mysite/
    управлять.py
    мой сайт/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
 

Эти файлы:

  • Внешний корневой каталог mysite/ является контейнером для вашего проекта. Его имя не имеет значения для Джанго; вы можете переименовать его во что угодно.
  • manage.py : Утилита командной строки, которая позволяет вам взаимодействовать с этим Проект Django различными способами. Вы можете прочитать все подробности о manage.py в django-admin и manage.py.
  • Внутренний каталог mysite/ — это фактический пакет Python для вашего проект. Его имя — это имя пакета Python, которое вам нужно будет использовать для импорта. что-нибудь внутри него (например, mysite.urls ).
  • mysite/__init__.py : пустой файл, который сообщает Python, что это каталог следует рассматривать как пакет Python. Если вы новичок в Python, читайте больше о пакетах в официальной документации Python.
  • mysite/settings.py : Настройки/конфигурация для этого Django проект. Настройки Django расскажут вам все о том, как настроить работай.
  • mysite/urls.py : объявления URL для этого проекта Django; а «оглавление» вашего сайта на Django. Вы можете прочитать больше о URL-адреса в диспетчере URL-адресов.
  • mysite/asgi.py : точка входа для ASGI-совместимых веб-серверов в обслуживать ваш проект. Дополнительные сведения см. в разделе Как выполнить развертывание с помощью ASGI.
  • mysite/wsgi.py : точка входа для WSGI-совместимых веб-серверов для обслуживать ваш проект. Дополнительные сведения см. в разделе Как выполнить развертывание с помощью WSGI.

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

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

/

 $ python manage. py runserver
 
 ...\> py manage.py сервер запуска
 

Вы увидите следующий вывод в командной строке:

Выполнение системных проверок...
Проверка системы не выявила проблем (0 отключено).
У вас есть непримененные миграции; ваше приложение может работать неправильно, пока они не будут применены.
Запустите «python manage.py migrate», чтобы применить их.
02 января 2023 г. - 15:50:53
Django версии 4.1, используя настройки mysite.settings.
Запуск сервера разработки по адресу http://127.0.0.1:8000/
Выйдите из сервера с помощью CONTROL-C.
 

Примечание

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

Вы запустили сервер разработки Django, легкий веб-сервер, написанный чисто на питоне. Мы включили это в Django, чтобы вы могли разрабатывать вещи быстро, без необходимости заниматься настройкой производственного сервера, например Apache — пока вы не будете готовы к работе.

Сейчас самое время отметить: не используйте этот сервер ни в чем подобном производственная среда. Он предназначен только для использования во время разработки. (Были в бизнес по созданию веб-фреймворков, а не веб-серверов.)

Теперь, когда сервер запущен, посетите http://127.0.0.1:8000/ со своим веб-сайтом. браузер. Вы увидите сообщение «Поздравляем!» страница, с взлетающей ракетой. Это сработало!

Изменение порта

По умолчанию команда runserver запускает сервер разработки на внутреннем IP на порту 8000.

Если вы хотите изменить порт сервера, пройдите это как аргумент командной строки. Например, эта команда запускает сервер на порту 8080:

/

 $ python manage.py runserver 8080
 
 ...\> py manage.py сервер запуска 8080
 

Если вы хотите изменить IP-адрес сервера, передайте его вместе с портом. За например, для прослушивания всех доступных общедоступных IP-адресов (что полезно, если вы работаете с Vagrant или хотите показать свою работу на других компьютерах на сети), используйте:

/

 $ python manage. py runserver 0.0.0.0:8000
 
 ...\> py manage.py сервер запуска 0.0.0.0:8000
 

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

Автоматическая перезагрузка сервера запуска

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

Создание приложения «Опросы»

Теперь, когда ваша среда — «проект» — настроена, вы готовы начать делаю работу.

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

Проекты и приложения

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

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

Чтобы создать приложение, убедитесь, что вы находитесь в том же каталоге, что и manage.py и введите эту команду:

/

 $ python manage.py startapp polls
 
 ...\> опросы py manage.py startapp
 

Это создаст каталог polls , который выглядит следующим образом:

 polls/
    __init__. py
    admin.py
    приложения.py
    миграции/
        __init__.py
    модели.py
    тесты.py
    просмотры.py
 

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

Напишите свой первый вид

Давайте напишем первый вид. Откройте файл polls/views.py и поместите в него следующий код Python:

polls/views.py

 из django.http импорт HttpResponse
Индекс защиты (запрос):
    return HttpResponse("Привет, мир. Вы попали в индекс опросов.")
 

Это самое простое представление в Django. Чтобы вызвать представление, нам нужно отобразить его на URL — и для этого нам нужен URLconf.

Чтобы создать URLconf в каталоге опросов, создайте файл с именем urls.py . Теперь каталог вашего приложения должен выглядеть так:

 polls/
    __init__.py
    admin.py
    приложения.py
    миграции/
        __init__.py
    модели.py
    тесты.py
    urls.py
    просмотры. py
 

В файл polls/urls.py включите следующий код:

polls/urls.py

 из пути импорта django.urls
от . импорт просмотров
URL-шаблоны = [
    путь('', views.index, имя='индекс'),
]
 

Следующим шагом является указание корневой конфигурации URL на модуль polls.urls . В mysite/urls.py , добавьте импорт для django.urls.include и вставьте include() в списке urlpatterns , поэтому у вас есть:

mysite/urls.py

 из администратора импорта django.contrib
из импорта django.urls включить, путь
URL-шаблоны = [
    путь('опросы/', включить('опросы.urls')),
    путь('admin/', admin.site.urls),
]
 

Функция include() позволяет ссылаться на другие конфигурации URL. Всякий раз, когда Django встречает include() , он отсекает все, что угодно. часть URL-адреса, совпадающего с этой точкой, и отправляет оставшуюся строку в включил URLconf для дальнейшей обработки.

Идея include() состоит в том, чтобы упростить подключаемые URL-адреса. Так как опросы находятся в их собственном URLconf ( polls/urls.py ), их можно поместить в «/polls/» или в «/fun_polls/», или под «/content/polls/», или любой другой корень пути, и приложение по-прежнему будет работать.

Когда использовать include()

Всегда следует использовать include() при включении других шаблонов URL. admin.site.urls является единственным исключением.

Теперь вы подключили представление index к URLconf. Убедитесь, что он работает с следующую команду:

/

 $ python manage.py runserver
 
 ...\> py manage.py сервер запуска
 

Перейдите по адресу http://localhost:8000/polls/ в браузере, и вы должны увидеть текст « Привет, мир. Вы находитесь в индексе опросов. », который вы определили в индекс вид.

Страница не найдена?

Если вы видите здесь страницу с ошибкой, убедитесь, что вы собираетесь http://localhost:8000/polls/, а не http://localhost:8000/.

В функцию path() передаются четыре аргумента, два обязательных: маршрут и вид и два дополнительных: kwargs и имя . На этом этапе стоит рассмотреть, для чего нужны эти аргументы.

path() аргумент: route

route — это строка, содержащая шаблон URL. При обработке запроса, Django начинает с первого шаблона в urlpatterns и спускается вниз список, сравнивая запрошенный URL с каждым шаблоном, пока не найдет один что соответствует.

Шаблоны не выполняют поиск параметров GET и POST или имени домена. Например, в запросе к https://www.example.com/myapp/ URLconf будет искать мое приложение/ .