Создание сайтов в Горском, ЛНР. Как быстро запустить проект Django и приложение Django

 
 

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

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

Требования

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

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

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

Вы можете открыть терминал, открыв средство поиска приложений вашей операционной системы и выполнив поиск Terminal, или в Windows, cmd.

Откройте терминал с помощью средства поиска приложений

После того, как вы настроили терминал, пришло время подтвердить вашу версию Python. Для этого введите следующую команду:

python —version

Python 3.9.7 # My result

Если вы не получили результат вида Python 3.x, не паникуйте. Есть два варианта:

если python —versionвозвращена версия Python 2.x, вам нужно будет использовать ее python3вместе с этим руководством. Обычно это происходит с некоторыми системами macOS, а также с некоторыми дистрибутивами Linux, такими как Ubuntu. Попробуйте запустить следующую команду:

python3 —version

Python 3.9.7 # Again, my result

если вы получили Unknown commandошибку, попытались запустить python3и снова получили другую ошибку, вам необходимо загрузить и установить Python с официального сайта.

Теперь, когда вы знаете, какую команду Python запускать в терминале, давайте углубимся в проекты Django.

Что такое проект Джанго?

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

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

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

Быстрая демонстрация этого — проект Minimal Django. Это файл с 23 строками кода, который позволяет нам вызвать Django «Hello, World!» проект в жизнь:

import sys

from django.conf import settings

from django.urls import path

from django.core.management import execute_from_command_line

from django.http import HttpResponse

settings.configure (

DEBUG=True,

ROOT_URLCONF=sys.modules[__name__],

)

def index (request):

return HttpResponse ('A minimal Django response!')

urlpatterns = [

path (r’', index),

]

if __name__ == '__main__':

execute_from_command_line (sys.argv)

Теперь проект Django может пойти гораздо дальше. Отличным примером является Instagram, который имеет тысячи конечных точек Django и до сих пор использует этот фреймворк для важных функций.

Как настроить проект Django

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

Прежде всего, вам нужно знать, что Django — это внешний пакет. Другими словами, он не встроен в Python, поэтому вам нужно будет установить его с помощью PIP.

PIP — это менеджер пакетов для Python, инструмент, который позволяет вам устанавливать пакеты Python из индекса пакетов Python (PyPI).

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

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

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

python -m venv.venv

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

$ ls -lah.venv/

Permissions Size User Date Modified Name

drwxr-xr-x — daniel 10 nov 23:13.

drwxr-xr-x — daniel 10 nov 23:13...

drwxr-xr-x — daniel 10 nov 23:13 bin

drwxr-xr-x — daniel 10 nov 23:13 include

drwxr-xr-x — daniel 10 nov 23:13 lib

lrwxrwxrwx 3 daniel 10 nov 23:13 lib64 → lib

.rw-r—r-- 69 daniel 10 nov 23:13 pyvenv.cfg

Чтобы активировать вашу виртуальную среду, вам необходимо активировать ее с помощью следующей команды:

source.venv/bin/activate

Это будет работать только в оболочках bash (доступно в macOS и Linux). Если вы используете другую оболочку, вы можете взглянуть на следующую venvтаблицу активации:

Платформа Оболочка Команда для активации виртуальной среды

POSIX баш/зш $ источник.venv>/bin/активировать

рыба $ источник.venv>/bin/activate.fish

csh/tcsh $ источник.venv>/bin/activate.csh

Ядро PowerShell $.venv/bin/Activate.ps1

Окна cmd.exe C: \>.venv\Scripts\activate.bat

PowerShell PS C: \>.venv\Scripts\Activate.ps1

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

Подсказка виртуальной среды

Теперь установите пакет Django. Вы можете установить последнюю или определенную версию Django:

pip install django # Latest version

pip install django==2.2 # Specific version

Начать проект

После того, как вы установили Django, чтобы начать новый проект, вы вызываете утилиту командной строки django-admin и запускаете:

django-admin startproject

Стоит отметить, что некоторые имена зарезервированы для Django — djangoили django-admin. Не волнуйтесь, если вы получите ошибку. Просто попробуйте использовать другое имя проекта:

django-admin startproject django

# CommandError: 'django’ conflicts with the name of an existing Python module and cannot be used as a project name. Please try another name.

django-admin startproject django-admin

# CommandError: 'django-admin’ is not a valid project name. Please make sure the name is a valid identifier.

Общепринятой практикой является называть ваш проект как config, и это имеет некоторые преимущества. Во-первых, это имя, которое вы можете использовать во всех своих проектах, а во-вторых, обычно в папке «проект» хранятся только файлы, связанные с конфигурацией. Вы можете прочитать больше на официальном форуме Django:

django-admin startproject config

Структура проекта Джанго

Как только вы запустите проект Django, вы увидите новую папку с именем выбранного вами проекта и структурой, подобной этой:

├── config

│ ├── config

│ │ ├── asgi.py

│ │ ├── __init__.py

│ │ ├── settings.py

│ │ ├── urls.py

│ │ └── wsgi.py

│ └── manage.py

└──.venv

Давайте подробно проанализируем каждую часть:

config/это внешняя папка вашего проекта. Для Django это не имеет значения, так что вы можете переименовать его как хотите.

config/config/является фактической папкой проекта Django. Он содержит файлы настроек вашего проекта.

manage.py— это скрипт Python с той же функциональностью, django_adminно использует настройки вашего проекта.

__init__.pyделает config/configпакет Python.

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

urls.pyэто файл, который определяет URL-адреса вашего проекта.

asgi.pyи wsgi.pyпозволить вам развернуть ваш проект на сервере.

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

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

django-admin startproject .

Так, например, для каждого запускаемого вами проекта Django вы можете запустить следующую команду:

django-admin startproject config.

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

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

Перейдите в корневую папку вашего проекта (где manage.pyнаходится) и запустите сервер с помощью этой команды:

python manage.py runserver

Теперь зайдите в свой браузер, введите localhost:8000/ и вы должны увидеть страницу Django по умолчанию.

Страница приветствия Джанго

Как настроить приложение Django

Как я уже говорил вам ранее, проект Django отличается от приложения Django.

Из официальной документации: «Приложение — это веб-приложение, которое что-то делает». Это нечто представляет собой определенную функциональность, такую ​​как пользовательское приложение, приложение для комментариев, приложение для чата.

Чем более функционально ориентированы ваши приложения, тем лучше.

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

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

С этого момента вы будете использовать manage.pyутилиту, поэтому для создания приложения перейдите в корневую папку вашего проекта и выполните следующую команду:

python manage.py startapp

Постарайтесь быть как можно более конкретным с названиями ваших приложений. Если вы хотите создать приложение для интеграции платежей с PayPal или Stripe, назовите его просто payments:

python manage.py startapp payments

Давайте углубимся в структуру приложения Django:

├── config

│ ├...

├── manage.py

└── payments

├── admin.py

├── apps.py

├── __init__.py

├── migrations

│ └── __init__.py

├── models.py

├── tests.py

└── views.py

payments/папка вашего приложения.

admin.pyиспользуется для регистрации моделей в административном интерфейсе Django.

apps.pyопределяет конфигурацию приложения.

models.pyиспользуется для хранения моделей, которые являются объектами, которые мы создаем для хранения и управления данными.

migrations/— это папка, содержащая сценарии миграции приложения. Вы запускаете миграции, чтобы применить изменения наших моделей к базе данных.

tests.pyиспользуется для тестирования приложения.

views.pyэто файл, в котором мы определяем представления нашего приложения. Представление — это вызываемый объект Python, который получает HTTP-запрос и возвращает HTTP-ответ.

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

Шпаргалка по командам

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

Команда Описание

python -m venv (name_of_venv) Создает виртуальную среду

source (venv) /bin/activate Активирует виртуальную среду

django-admin startproject (project_name) Запускает проект Django

django-admin startproject (project_name). Настраивает проект в том же каталоге

python manage.py runserver Запускает сервер Django

python manage.py startapp (app_name) Создает приложение Django

Заключение

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

С помощью этого урока вы научились:

создать виртуальную среду

установить определенную версию Django

запустить проект Джанго

запустить сервер Django

создать приложение Django

различать приложение Django и проект Django

3D-печать5GABC-анализAndroidAppleAppStoreAsusCall-центрChatGPTCRMDellDNSDrupalExcelFacebookFMCGGoogleHuaweiInstagramiPhoneLinkedInLinuxMagentoMicrosoftNvidiaOpenCartPlayStationPOS материалPPC-специалистRuTubeSamsungSEO-услугиSMMSnapchatSonyStarlinkTikTokTwitterUbuntuUp-saleViasatVPNWhatsAppWindowsWordPressXiaomiYouTubeZoomАвдеевкаАктивные продажиАкцияАлександровск ЛНРАлмазнаяАлчевскАмвросиевкаАнализ конкурентовАнализ продажАнтимерчандайзингАнтрацитАртемовскАртемовск ЛНРАссортиментная политикаБелгородБелицкоеБелозерскоеБердянскБизнес-идеи (стартапы)БрендБрянкаБукингВахрушевоВендорВидеоВикипедияВирусная рекламаВирусный маркетингВладивостокВнутренние продажиВнутренний маркетингВолгоградВолновахаВоронежГорловкаГорнякГорскоеДебальцевоДебиторкаДебиторская задолженностьДезинтермедитацияДзержинскДивизионная система управленияДизайнДимитровДирект-маркетингДисконтДистрибьюторДистрибьюцияДобропольеДокучаевскДоменДружковкаЕкатеринбургЕнакиевоЖдановкаЗапорожьеЗимогорьеЗолотоеЗоринскЗугрэсИжевскИловайскИрминоКазаньКалининградКировскКировскоеКомсомольскоеКонстантиновкаКонтент-маркетингКонтент-планКопирайтингКраматорскКрасноармейскКрасногоровкаКраснодарКраснодонКраснопартизанскКрасный ЛиманКрасный ЛучКременнаяКураховоКурскЛисичанскЛуганскЛутугиноМакеевкаМариупольМаркетингМаркетинговая информацияМаркетинговые исследованияМаркетинговый каналМаркетинг услугМаркетологМарьинкаМедиаМелекиноМелитопольМенеджментМерчандайзерМерчандайзингМиусинскМолодогвардейскМоскваМоспиноНижний НовгородНиколаевНиколаевкаНишевой маркетингНовоазовскНовогродовкаНоводружескНовосибирскНумерическая дистрибьюцияОдессаОмскОтдел маркетингаПартизанский маркетингПервомайскПеревальскПетровскоеПлата за кликПоисковая оптимизацияПопаснаяПравило ПаретоПривольеПрогнозирование продажПродвижение сайтов в ДонецкеПроизводство видеоПромоПромоушнПрямой маркетингРабота для маркетологаРабота для студентаРазработка приложенийРаспродажаРегиональные продажиРекламаРеклама на асфальтеРемаркетингРетро-бонусРибейтРитейлРовенькиРодинскоеРостов-на-ДонуРубежноеСамараСанкт-ПетербургСаратовСватовоСвердловскСветлодарскСвятогорскСевастопольСеверодонецкСеверскСедовоСейлз промоушнСелидовоСимферопольСинергияСколковоСлавянскСнежноеСоздание сайтов в ДонецкеСоледарСоциальные сетиСочиСтаробельскСтаробешевоСтахановСтимулирование сбытаСуходольскСчастьеТелемаркетингТельмановоТираспольТорговый представительТорезТрейд маркетингТрейд промоушнТюменьУглегорскУгледарУкраинскХабаровскХарцызскХерсонХостингЦелевая аудиторияЦифровой маркетингЧасов ЯрЧелябинскШахтерскЮжно-СахалинскЮнокоммунаровскЯндексЯсиноватая