Создаем свое первое приложение на Django
Django — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation. Django считается лучшим веб-фреймворком, написанным на Python. Этот инструмент удобно использовать для разработки сайтов, работающих с базами данных.
Вокруг Django быстро сформировалось активное сообщество. Фреймворк стал стремительно развивается усилиями волонтёров. Значительную роль в успехе Django сыграли несколько известных сайтов, которые использовали этот фреймворк. В их число входят Pinterest, Dropbox, Spotify, сайт The Washington Post. В настоящее время сообщество Django включает более 11 тыс. разработчиков из 166 стран мира.
Давайте приступим к созданию первого приложения на Django.
Шаг 1. Установка Django
Первым делом нам надо установить сам фреймворк, для этого нам надо запустить следующую команду:
$ pip install django
Если вы правильно установили Django, то после запуска django-admin --version вы увидите текущую версию фреймворка.
Шаг 2. Создание проекта Django
Перед тем как начать писать код, нам надо создать проект над котором мы будем работать:
$ django-admin startproject myproject
После того как наш создание проекта будет завершена, мы получим следующую структуру проекта:
- django_example/__ init__.py — пустой файл, который говорит Python, что данная директория должна восприниматься в качестве пакета.
- django_example/settings.py содержит конфигурацию нашего проекта.
- django_example/urls.py — здесь объявляются URL.
- django_example/wsgi.py — с помощью него приложение может работать с веб-сервером по протоколу WSGI.
- manage.py позволяет взаимодействовать с проектом.
Шаг3. Создаем проект наше приложение helloworld
Итак, приступим к созданию нашего приложения. Это делается следующим образом:
$ python manage.py startapp helloworld
Это создаст каталог helloworld, который выглядит следующим образом:
helloworld/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
В этой структуре каталогов будет храниться приложение helloworld.
Далее переходим в папку приложения и создаем файл urls.py (если его нет) и добавим в него следующие строки:
from django.conf.urls import url
from . import views
app_name = 'helloworld'
urlpatterns = [
url(r'^$', views.index, name='index'),
]
Откройте файл helloworld/views.py и сохраните в нем приведенный ниже код:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World!")
Откройте файл django_example/urls.py и добавьте в urlpatterns строку:
url(r'^helloworld/', include('helloworld.urls'))
после этого файл должен выглядеть так:
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^riddles/', include('helloworld.urls')),
url(r'^admin/', admin.site.urls),
]
Функция include() позволяет вам обращаться к другим URLconfs. Каждый раз, когда Django находит include() какую-либо часть URL-адреса, которая соответствует этому моменту, он отправляет оставшуюся строку во включенный URLconf для дальнейшей обработки. Идея include() состоит в том, чтобы облегчить соединение и немедленное выполнение URL-адресов. Вы всегда должны использовать, include() когда включаете другие шаблоны URL.
Шаг4. Запускаем наше приложение
$ python manage.py runserver
Мы запустили сервер разработки Django, легкий веб-сервер, написанный исключительно на Python. Мы связали его с Django, чтобы вы могли быстро разрабатывать вещи, не настраивая рабочий сервер, например Apache, пока вы не будете готовы к работе.
Сейчас хорошее время помнить о том, что вы не должны использовать этот сервер в какой-либо производственной среде. Он предназначен только для использования во время разработки (наша задача - создавать веб-фреймворки, а не веб-серверы).
Теперь, если мы перейдем на урл приложения http://127.0.0.1:8000/helloworld/, мы увидим «Hello, World!».