Руководство по Django для начинающих: быстро создайте свое первое веб-приложение
Руководство по Django для начинающих: быстро создайте свое первое веб-приложение
Django — это высокоуровневый Python веб-фреймворк, ориентированный на быструю разработку и лаконичный дизайн. Он следует архитектуре Model-Template-View (MTV), поощряет повторное использование кода и компонентность. Это руководство проведет вас шаг за шагом через создание простого приложения Django, чтобы вы могли быстро начать работу.
1. Настройка окружения
Сначала вам нужно убедиться, что в вашей системе установлен Python. Django рекомендует использовать Python 3.6 или более поздней версии.
1.1 Установка Python
Если в вашей системе не установлен Python, вы можете скачать и установить его с официального сайта Python.
1.2 Создание виртуального окружения (Virtual Environment)
Настоятельно рекомендуется использовать виртуальное окружение для изоляции зависимостей между различными проектами.
-
Откройте терминал или командную строку.
-
Создайте каталог проекта, например
myproject:mkdir myproject cd myproject -
Создайте и активируйте виртуальное окружение:
python3 -m venv venv # Или python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsПосле активации виртуального окружения в вашей командной строке появится
(venv), что означает, что вы используете виртуальное окружение.
1.3 Установка Django
В активированном виртуальном окружении используйте pip для установки Django:
pip install Django
Проверьте, успешно ли установлена Django:
python -m django --version
Вы должны увидеть номер версии Django.
2. Создание проекта Django
После установки Django вы можете создать новый проект Django.
-
Все еще находясь в каталоге вашего проекта (
myproject), выполните следующую команду:django-admin startproject mysiteЭто создаст каталог с именем
mysiteв каталогеmyproject, содержащий скелетные файлы проекта Django. -
Перейдите в каталог
mysite:cd mysite -
Структура каталогов проекта Django выглядит следующим образом:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Инструмент командной строки для управления проектом Django.mysite/: Python-пакет, содержащий конфигурацию проекта.__init__.py: Пустой файл, сообщающий Python, что этот каталог следует рассматривать как Python-пакет.settings.py: Файл конфигурации проекта, например, настройки базы данных, режим отладки и т. д.urls.py: Конфигурация маршрутизации URL, сопоставляющая URL-адреса с функциями представления.asgi.py: Файл конфигурации ASGI (Asynchronous Server Gateway Interface) для развертывания асинхронных приложений.wsgi.py: Файл конфигурации WSGI (Web Server Gateway Interface) для развертывания традиционных синхронных приложений.
3. Запуск сервера разработки
Django поставляется со встроенным облегченным сервером разработки, который упрощает локальную разработку и тестирование.
-
В каталоге
mysiteвыполните следующую команду:python manage.py runserver -
Откройте браузер и перейдите по адресу
http://127.0.0.1:8000/. Вы должны увидеть страницу с текстом "It worked! Congratulations on your first Django-powered page.".
4. Создание Django-приложения
Проект Django может содержать несколько приложений. Давайте создадим приложение с именем myapp.
-
Откройте новое окно терминала (оставьте сервер разработки запущенным).
-
В каталоге
mysiteвыполните следующую команду:python manage.py startapp myappЭто создаст каталог с именем
myappв каталогеmysite, содержащий каркас файлов Django-приложения. -
Структура каталогов Django-приложения выглядит следующим образом:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Пустой файл, сообщающий Python, что этот каталог следует рассматривать как пакет Python.admin.py: Используется для настройки панели администратора Django.apps.py: Конфигурация приложения.migrations/: Используется для управления миграциями базы данных.models.py: Определяет модели данных (таблицы базы данных).tests.py: Написание тестовых случаев.views.py: Определяет функции представления, обрабатывает запросы и возвращает ответы.
-
В файле
mysite/settings.pyдобавьтеmyappв списокINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # 添加 myapp - Добавить myapp ]
5. Создание простого представления
Теперь мы создадим простое представление, которое отобразит "Hello, Django!" в браузере.
-
Отредактируйте файл
myapp/views.py, добавив следующий код:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Создайте файл
myapp/urls.pyи сопоставьте URL-адрес с функцией представления:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Включите
myapp/urls.pyвmysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Добавьте конфигурацию URL для myapp ] -
Перейдите по адресу
http://127.0.0.1:8000/myapp/. Вы должны увидеть страницу с надписью "Hello, Django!".
6. Создание модели
Давайте создадим простую модель для хранения некоторых данных.
-
Отредактируйте файл
myapp/models.py, добавив следующий код:from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_textЭто определяет модель с именем
Question, содержащую два поля:question_text(CharField) иpub_date(DateTimeField). -
Создайте и примените миграции базы данных:
python manage.py makemigrations myapp python manage.py migrateКоманда
makemigrationsсоздаст файлы миграции на основе вашей модели, а командаmigrateприменит миграции к базе данных.
7. Использование панели администратора Django
Django предоставляет мощную панель администратора, которая позволяет удобно управлять вашими данными.
-
Создайте суперпользователя:
python manage.py createsuperuserСледуйте инструкциям для ввода имени пользователя, адреса электронной почты и пароля.
-
Отредактируйте файл
myapp/admin.py, зарегистрировав модельQuestion:from django.contrib import admin from .models import Question admin.site.register(Question) -
Перейдите по адресу
http://127.0.0.1:8000/admin/, используя созданного суперпользователя для входа. Вы должны увидеть модуль "Questions", где можно добавлять, редактировать и удалять вопросы.
8. Использование шаблонов
Использование шаблонов позволяет более гибко генерировать HTML-страницы.
-
В каталоге
myappсоздайте каталог с именемtemplates, а в каталогеtemplatesсоздайте каталог с именемmyapp(myapp/templates/myapp). -
В каталоге
myapp/templates/myappсоздайте файл с именемindex.htmlи добавьте следующий код:Hello, Django! The current time is: {{ current_time }} -
Отредактируйте файл
myapp/views.py, чтобы использовать шаблон:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})renderФункция загружает шаблон и передает данные для рендеринга. -
Снова посетите
http://127.0.0.1:8000/myapp/. Вы должны увидеть страницу с текущим временем.
9. Заключение
С помощью этого руководства вы узнали об основных понятиях и методах использования Django, включая настройку среды, создание проектов и приложений, определение моделей, создание представлений и использование шаблонов. Это только начало, Django предоставляет богатый набор функций, вы можете продолжать учиться и исследовать, чтобы создавать более сложные веб-приложения.





