Рубрики
Без рубрики

🤖 🐍 Создайте свое первое приложение Django: Hello World App

Прежде всего! 😀 Посмотрите на эту статью, которая даст вам быстрое представление о том, что … Tagged с Django, Python, Tutorial, WebDev.

Developer Road Posts (8 серии деталей)

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

Что такое Джанго и почему вы должны его использовать 🐍

Даниэль Диас для Developer Road ・ 1 марта ・ 3 минуты прочитал

Продолжая эту статью, вы узнаете:

  • Установите Django, (и это зависимости)
  • Посмотрите на структуру проекта Django.
  • Основы Mvt шаблон
  • Используйте язык шаблона Django

Исходный код этого урока доступен в этом репозитории GitHub:

Разработчик-дорога/Джанго-Гелло-Мир

Простое приложение Django Hello World

Руководство Hello World на веб -структуре Django’s Hello’s Hello.

Установите требования:

python3 -venv .venv

source .venv/bin/activate


pip install -r requirements.txt

Установка 🐍

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

Проверьте Python Страница загрузки

И установите версию Python 3 для вашей оперативной системы: Windows, Mac или Linux

Напоминание : Большинство Linux распределения , приходит с Python заранее установлен, так что вам не нужно беспокоиться о его установке.

Терминал

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

В зависимости от вашей операционной системы у вас установлены разные эмуляторы терминала, поэтому давайте посмотрим на каждый терминал для разных ОС.

Окна

В Windows вам нужно предварительно установить параметры, CMD и PowerShell Анкет Оба ужасны 😂, но вы можете выполнить работу с ними.

Примечание : В Windows структура файла отличается от Unix на основе (Mac OS и Linux), поэтому обычно я рекомендую установить Git bash , это позволяет вам запустить те же команды, которые я буду использовать в этом уроке, но я позволил этому вам.

Mac OS и Linux

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

В моем случае 😀

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

Например Против кода

Проверка установки Python

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

python --version

Если я запускаю эту команду, я получаю:

Что означает, что версия Python. Я установил в своей системе Python 3.8.6 Анкет

Также проверьте на PIP

PIP выступает за PIP установить пакеты . Это диспетчер пакетов Python, который позволит нам установить различные полезные пакеты, включающие Django 😆

Чтобы проверить, установлен ли PIP, мы используем

pip --version

Как вы видите, у меня есть PIP 20.3.3 установлены

Установка Джанго

Прежде чем мы сможем установить Django, мы должны настроить виртуальную среду, чтобы сделать это, мы бегаем

python -m .venv

Это создаст виртуальную среду с именем .venv Анкет

Если вы хотите узнать больше о виртуальных средах, просто посмотрите на этот пост.

🧠 Учебное пособие: понимать виртуальные среды в Python ✅

Даниэль Диас для Developer Road ・ 27 февраля ・ 6 минут прочитал

Теперь активируйте эту виртуальную среду 😀

source .venv/bin/activate

Вы можете легко установить Django, с простым Pip командование

pip install django

Вы увидите что -то подобное в своем терминале

Наконец, подтвердите свою установку Django

╰(.venv)─λ pip freeze                                                                                  0 (0.003s) < 21:15:55
asgiref==3.3.1
Django==3.1.7
pytz==2021.1
sqlparse==0.4.1

Как вы видите, я установил Django 3.1.7 , которая является последней версией Django, в этот момент.

Совет: Я всегда рекомендую использовать последнюю версию Django, так как у нее есть больше исправлений и исправлений безопасности.

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

В любом случае, проектная команда Django выполняла потрясающую работу, потому что независимо от того, узнаете ли вы версию Django 3.x, 2.x или даже 1.x (не используйте ее, пожалуйста 😆), большая часть основных функций все еще то же.

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

Чтобы создать проект в Django, вы будете использовать следующую команду

django-admin startproject helloworld

Это создаст имя папки Helloworld и внутри этой папки будет другая папка с именем Hellowold и файл Python manage.py

╰(.venv)─λ tree                                                                                        .
├── helloworld
│   ├── helloworld
│   │   ├── asgi.py
│   │   ├── __init__.py
│   │   ├── settings.py
│   │   ├── urls.py
│   │   └── wsgi.py
│   └── manage.py

Я знаю, что эта структура файла может быть запутанной 😕, поэтому я объясню это подробно.

Джанго двойная структура папки

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

Корневая папка /Привет, мир Как и контейнер, это не имеет значения для Джанго, и он только для организационных целей.

Вы можете переименовать это с тем, что хотите.

С другой стороны, есть внутренняя папка /helloworld/helloworld . Это пакет Python, поскольку он имеет __init__.py Анкет

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

Внутри Helloworld Пакет, мы можем найти еще один важные файлы:

  • __init__.py , указывает, что папка проекта должна рассматриваться как пакет
  • настройки.py , используется для настройки нашего приложения.
  • urls.py , позволяет добавлять или удалять шаблоны URL -адреса
  • wsgi.py & asgi.py , настроить сервер развертывания

Наконец -то Manage.py Файл – это утилита командной строки, которая позволяет нам взаимодействовать с структурой Django.

Запуск сервера разработки.

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

python manage.py runserver

Вы можете указать порт для сервера. Так что на этот раз я использую порт 8080 в качестве демонстрации.

python manage.py runserver 8080

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

После выполнения этой команды перейдите в свой браузер и введите:

# Or the port you used in the runserver command
localhost:8080

После этого вы должны получить такую страницу, которая подтверждает установку

ОК, ты получил это. Вы установили свой первый проект Django 🦄

Теперь давай пойдем с интересной частью 😁

Использование шаблона MVT

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

Прежде всего, Почему Джанго использует этот шаблон? 💭

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

Теперь давайте перейдем к различным частям этого дизайна:

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

Из -за моделей мы, как разработчики Django, не должны изучать SQL 💽 (хотя это было бы хорошо плюс).

  • Просмотр: Как быстрое определение, представление получает Запрос и вернуть Ответ Анкет Обычно представление получает HTTP -ответ, как Получить и вернуть html Файл, или файл json, или почти все.

Это возвращение файлов HTML называется * Шаблон * Анкет

  • Шаблон: Это то, что показано пользователю, если все приведет в порядке с его/ее запросом. Он выступает в качестве презентационного слоя, и вы можете написать их с помощью HTML, CSS, JavaScript и особого языка: языка шаблонов Django.

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

Создание приложения Hello World

Поскольку это руководство для начинающих, мы будем использовать только URL -адреса, представления и шаблоны 😉.

Создание приложения

Прежде чем продолжить, мы собираемся создать приложение Django.

django-admin startapp myapp

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

Давайте посмотрим на структуру нашего приложения.

. myapp/
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

1 directory, 7 files
  • admin.py: Здесь мы можем зарегистрировать наши модели на странице администратора (мы увидим их в следующих статьях)

  • tests.py: Этот файл, где мы делаем наши модульные тесты.

  • Models.py: Где мы создаем наши модели и где мы взаимодействуем с нашей базой данных

  • apps.py: Конфигурация нашего приложения. Я никогда не трогал это 😅

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

  • /миграция: Вот где живут миграции. Я создам пост об этом, но в качестве быстрой концепции миграция – это запись изменений наших моделей.

Приложение различий и проект

Вы помните, что мы уже создали проект под названием Привет, мир ?.

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

Веб -приложение, которое делает что -то Коллекции приложений, для веб -сайта
Может быть в нескольких проектах Может содержать несколько приложений
Бывший: Приложение для комментариев, которое может быть во многих проектах, таких как Disqus Бывший: Веб -сайт блога

До сих пор мы не касались ни одного кода, так что давайте введимся в него.

Руки на 🙌

Установка наше приложение:

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

# helloworld/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Custom apps
    'myapp',
]

После установки наше новое приложение мы можем вступить в шаблоны URL. Перейти к urls.py Файл, в нашей папке проекта и измените следующие вещи.

from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),

    # The url path of our new app
    path('', include('myapp.urls')),
]

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

Затем мы создали еще один Путь , с пунктом назначения '' , это означает, что когда пользователь попадает в URL, без какого -либо другого шаблона, мы называем URL -адреса приложения MyApp

Как вы, возможно, заметили, мы называем URL -адреса в качестве пакета Python, так что myApp.urls означает:

  1. Перейти к myApp упаковка
  2. Извлеките URL -шаблоны urls.py файл.

Но ты бы сказал мне: Даниэль! Вы сумасшедшие 🤯, этот файл не был создан.

И да, ты прав. Поэтому нам нужно создать его вручную.

Вы можете создать его из своего редактора кода или из вашего терминала

cd myapp/

touch urls.py

После создания этого файла мы сделаем забавные вещи! 😝

Создание нашего первого взгляда:

Давайте отредактируем наш views.py файл.

from django.http import HttpResponse

# Create your views here.


def helloworldview(request):

    response = "Hello world, this is my first Django app! :)"


    return HttpResponse(response)

Здесь мы импортировали класс httpresponse, и мы прошли переменную Ответ , с ценности: “Привет, мир ..”

Хорошо, круто, но затем мы должны создать URL для этого взгляда, давайте перейдем к myApp/urls.py файл.

from django.urls import path

from .views import helloworldview

urlpatterns = [
    path("", helloworld),
]

Как и в urls.py папки проекта, мы импортировали Путь и создали шаблоны URL для нашего приложения. Также мы использовали новую концепцию, мы передали представление о нашей функции пути.

Все вещи, которые мы просто делаем, означает, что каждый раз, когда мы попадаем Localhost: 8000 , мы просим URL -шаблон "" Анкет

Этот URL будет называть нашу функцию представления с именем HelloworldView , это берет наше Запрос и возвращает Httpresponse , с содержанием “Hello World”.

Не так сложно понять, верно 😅?

Теперь запустите сервер и посмотрите, как работает ваше первое приложение!

python manage.py runserver

# See it on localhost:8000

Используя шаблоны Django

Последняя часть этого учебника будет о том, шаблоны в Джанго 😀

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

Ваш первый шаблон в Джанго

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

Итак, давайте создадим один:

cd myapp/

mkdir templates

Вы только что создали каталог с именем Шаблоны Анкет Это говорит Джанго искать шаблоны в этой папке.

Создайте файл с именем index.html , это будет наш первый шаблон.

touch index.html

Теперь вставьте следующий HTML, в шаблон.

Hello world, this is my first template

This is a cool html paragraph!

После этого мы собираемся изменить HelloworldView , чтобы сделать наш шаблон

from django.shortcuts import render

def helloworldview(request):

    template = "index.html"

    context = {}    

    return render(request, template, context)

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

После этих незначительных изменений вы увидите что -то подобное.

Используя DTL

Теперь мы увидим основы языка шаблонов Django.

Создайте файл base.html , внутри папки шаблонов.

touch base.html

Там мы вставем основную структуру HTML -документа.





    
        
        
        
        Django Hello world
    

    
        {% block body %}


        {% endblock body %}


    


Но с небольшим изменением мы используем теги DTL. Это форма { % Tag %} Анкет Тег, который мы использовали в этом случае, есть:

{% block [name of the block] %}


{% endblock [name of the block] %}

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

Наследство шаблона 😁

Теперь измените, index.html файл.

{% extends 'base.html' %}

{% block body %}

Hello world, this is my first template

This is a cool html paragraph!

{% endblock body %}

Здесь мы просто делаем странную вещь! 🤯 Мы использовали наследование шаблона и блоки DTL.

Вы звоните, наследство с тегом { % расширяет "Имя шаблона" %}

А с блок -тегом вы замените контент внутри блока

{% block [name of block] %}
... Replaced content

{% endblock [name of block] %}

Если мы посмотрим на страницу источника нашей страницы, мы получим что -то подобное.





    
        
        
        
        Django Hello world
    

    

Hello world, this is my first template

This is a cool html paragraph!

Контекстные переменные и для петли

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

def helloworldview(request):

    template = "index.html"

    people = ["daniel", "nicolas", "tom", "henry"]

    context = {"people": people}    

    return render(request, template, context)

Мы передаем контекстный словарь нашему шаблону. Наши ключевые «люди» – это список строк.

Теперь мы собираемся сделать цикл, чтобы итерация через этот список 😁.

{% extends 'base.html' %}

{% block body %}

Hello world, this is my first template

This is a cool html paragraph!

{% for person in people %}

{{person}}

{% endfor %} {% endblock body %}

Как вы можете заметить, для петли в DTL точно такие же, как и в Python.

И переменные, в DTL представлены с {{name_variable}}

Если мы проверим наш сервер, мы получим что -то подобное. 🤯

Удивительно, это не так?

Вывод:

В этом уроке вы узнали основы Джанго.

От создания видов на основе функций до создания шаблонов URL и использования языка шаблона Django 😃.

Есть вопросы или сомнения? Дай мне знать в комментариях

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

Developer Road Posts (8 серии деталей)

Оригинал: “https://dev.to/developerroad/create-your-first-django-app-hello-world-app-3k52”