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

Ваше вступление в Джанго (2020)

Введение Популярная веб -структура Python может быть немного пугающей для новых и опытных … Tagged с Django, Python, WebDev.

Вступление

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

Тем не менее, в качестве основы Instagram, Spotify, YouTube, Dropbox, Pinterest и огромного количества больше, Django служит прекрасным инструментом для стартапов и крупных предприятий для успешного и гибкого.

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

Фон

Веб -серверы

Работа веб -сервера – обслуживать веб -страницы.

Когда вы посещаете URL, вы эффективно просите веб -сервер для обслуживания HTML -документа.

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

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

Решением Джанго является модель-образец архитектурного программного обеспечения.

В основных терминах:

  • Шаблон содержит логику отображения (HTML) для веб -страницы.
  • Вид будет объединять шаблон с переменными для создания страницы.
  • Модель может использоваться для получения данных из базы данных для представления.

Есть еще один слой в этой архитектуре, которая является Маршруты Анкет Маршрут – это путь от URL до ресурса или другого маршрута.

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

Начиная

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

Установка Django так же проста, как и запуск $ pip установить django Анкет

Как только Джанго был установлен, у нас будет доступ к $ django-admin командование и его подкоманды.

Теперь мы можем генерировать наш проект, используя $ django-admin startproject Анкет

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

Когда мы бежали StartProject , Веб -сайт/ каталог и Manage.py Файл был создан.

  • Веб -сайт/ Каталог – это то, где хранятся наши веб -приложения и файлы веб -сервера.
  • Manage.py Файл является инструментом для запуска и управления веб -сервером через командную строку.

Файлы проекта

Веб -сайт/ каталог содержит следующие файлы по умолчанию:

  • init .py : Подробная информация о пакете Python, которая в настоящее время будет пустой.
  • настройки.py : Настройки и детали конфигурации для проекта.
  • urls.py : Список путей для карты URL -адресов для представлений.
  • wsgi.py : Файл Django, используемый для связи с веб -сервером.

Мы могли бы теоретически создать views.py , модели.py и Шаблон.html В этой папке.

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

Django может запустить веб -сервер с желанной страницей прямо из коробки.

Мы можем запустить это полностью с одной командой: $ python Manage.py Runserver . Теперь это будет обслуживать веб -файлы из Localhost , который размещает веб -сайт Django по умолчанию в порту 8000 Анкет

Начальное развитие

Программы

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

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

Мы можем генерировать наше приложение, используя $ django-admin startApp Анкет

Это создаст каталог приложений, который похож на Веб -сайт/ Анкет Однако приложение содержит файлы для логики веб -страницы, такие как views.py и модели.py Анкет

Взгляды

Давайте быстро рассмотрим некоторые сети.

Чтобы «посетить» веб -страницу, клиент отправляет HTTP -запрос на веб -сервер. Если запрос может быть успешно выполнен, возвращается HTTP -ответ, содержащий HTML -код.

Следовательно, задача нашей точки зрения состоит в том, чтобы вернуть HTTP -ответ, содержащий некоторые сгенерированные HTML.

К счастью, это один вызов функции в Django.

from django.http import HttpResponse

def home(request):
    return HttpResponse('

Hello, world!

')

Маршруты

Маршрутизация из нашего проекта Маршруты в приложение Маршруты довольно просто.

from django.contrib import admin
from django.urls import path, include

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

В нашем приложении нам нужно сделать urls.py Файл, который мы можем скопировать из urls.py в Веб -сайт/ Анкет

from django.urls import path
from . import views

path('', views.about, name='app-home'),
path('about/', views.about, name='app-about'),

Теперь запрос на/app/about будет маршрутироваться на весь путь от нашего проекта root к о Посмотреть.

Дальнейшее развитие

Шаблоны

Шаблоны – это просто HTML -файлы. Джанго будет искать их в App/Templates/App/\*. HTML .

Мы включаем их в представления, используя render () Функция:

def home(request):
    return render(request, 'app/index.html')

Содержимое app/index.html было бы что -то вроде:





  

Welcome to the Home page.

Код языка шаблона Django (DTL) может быть добавлен с HTML -кодом, чтобы обрабатывать переменные, командные блоки и другие функции Python.





  

Welcome to the {{ title }} page.

Чтобы пройти переменную, такую как Название , в шаблон, render () берет третий аргумент.

def home(request):
    return render(request, 'app/index.html', {'title': 'Home'})

Статические файлы

Статические файлы, как правило, являются локальными файлами, которые href S указывает, например, изображения и файлы JavaScript.

Джанго будет искать их в app/static/app/\*. * .

Статические файлы доступны с DTL после загрузки Статический :

{ % load static % }


Базы данных и модели

У Django есть свой собственный встроенный ORM (объектно-реляционное Mapper).

Бонусом является то, что он действует как интерфейс для любой базы данных, что позволяет нам использовать различные пакеты СУБД. Например, мы можем использовать SQLite3 для разработки и PostgreSQL для производства без изменения нашего кода.

Наша структура базы данных будет представлена в качестве классов Django Orm.

Эти классы – это то, что мы будем использовать в качестве моделей. Пример модели сообщения в блоге:

class Post(models.Model):
    title = models.CharField(max_length=128)
    date = models.DateTimeField(default=timezone.now)
    content = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE)

Миграция

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

  1. Запустить $ python Manage.py Makemigrations Чтобы создать миграции.
  2. Запустить $ python Manage.py Migrate запустить миграции.

Миграции хранятся в вашем приложении миграции/ каталог (т.е. 0001_initial.py).

Вы можете открыть файл, чтобы увидеть, что он делает, и даже просмотреть запрос SQL, сгенерированный из миграции с использованием $ python Manage.py Sqlmigrate App 0001 Анкет

Управление пакетами

Требования

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

PIP может прочитать этот список, а затем автоматически установить эти пакеты оптом.

$ pip install -r tement.txt Анкет

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

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

Virtualenv

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

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

  • Запустить $ pip установить virtualenv Если вы еще не установили его.
  • Введите корневой каталог вашего проекта и запустите $ python -m venv django -envenv Анкет
  • Наконец, «активируйте» этот Венвол с $ source django-fenv/bin/activate Анкет

Пользователям Windows нужно использовать $ source django-fenv/scripts/activate .

Теперь установите свои пакеты в среду, используя $ pip install -r tement.txt Анкет

Вам нужно будет повторно войти в окружающую среду в любое время, когда вы работаете над проектом.

Дополнительные биты

Джанго администратор

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

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

  1. Запустить $ python Manage.py Migrate , который будет инициализировать базу данных по умолчанию.
  2. Запустить $ python Manage.py CreateSuperuser Чтобы настроить профиль администратора.

Перейдите к http://localhost: 8000/admin/ снова и войдите в систему со своими данными.

Джанго формы

У Django есть некоторые встроенные объекты формы для общих процессов.

Userreationform для регистрации нового пользователя и состоит из имя пользователя , пароль1 и пароль2 поля.

Хэсширование пароля встроено в эти объекты формы.

Последние слова

Надеемся, что это служит 5-минутным гидом и будущим ссылкой на внутреннюю работу Джанго.

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

Отличный учебник проекта можно найти по адресу: https://www.youtube.com/watch?v=umljxziypdc

Наконец, если у вас есть какие -либо вопросы или комментарии, я смогу внедрить свои ответы в этом руководстве, чтобы помочь будущим читателям. Поэтому я приветствую все отзывы!

Удачи в вашем путешествии по разработке.

Оригинал: “https://dev.to/tao/your-intro-to-django-2020-3a01”