Django Руководство для начинающих: Быстрое создание вашего первого сайта
Django Руководство для начинающих: Быстрое создание вашего первого сайта
Django — это эффективный и мощный фреймворк для веб-разработки на Python, подходящий для создания сложных веб-приложений и сайтов. Этот фреймворк интегрирует множество полезных функций, что позволяет разработчикам быстро создавать надежные приложения. Независимо от того, являетесь ли вы новичком или имеете определенный опыт, Django может предоставить вам множество удобств. В этой статье мы пошагово научим вас, как использовать Django для создания вашего первого сайта.
1. Подготовка окружения
Перед началом убедитесь, что ваше рабочее окружение уже установило Python и pip (менеджер пакетов Python). Django требует Python версии 3.6 и выше.
Установка Python и pip
Вы можете скачать и установить подходящую для вашей операционной системы версию с официального сайта Python. После установки проверьте версии Python и pip через командную строку:
python --version
pip --version
Установка Django
Установить Django через pip очень просто. Введите следующую команду в командной строке:
pip install django
После завершения установки убедитесь, что вы можете найти версию Django в командной строке:
django-admin --version
2. Создание проекта Django
После установки Django мы можем начать создание нового проекта. Проект является основной структурой Django и включает в себя ваши приложения и конфигурацию.
Создание проекта
В каталоге, где вы хотите создать проект, выполните следующую команду:
django-admin startproject myproject
Это создаст новый каталог с именем myproject, который будет содержать некоторые файлы по умолчанию и структуру каталогов.
Структура каталогов
Вы увидите следующую структуру каталогов:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
manage.py: Инструмент управления Django, используемый для управления проектом.settings.py: Файл конфигурации проекта, здесь вы можете настроить базу данных, статические файлы и т.д.urls.py: Конфигурация маршрутизации URL проекта.asgi.pyиwsgi.py: Конфигурация интерфейсов для развертывания.
3. Запуск сервера разработки
В каталоге проекта используйте следующую команду для запуска сервера разработки Django:
python manage.py runserver
Если все в порядке, вы должны увидеть страницу приветствия Django в браузере по адресу http://127.0.0.1:8000/.
4. Создание первого приложения
Проект Django может состоять из нескольких приложений. Каждое приложение отвечает за определенный функциональный модуль.
Создание приложения
В каталоге myproject выполните следующую команду для создания приложения с именем myapp:
python manage.py startapp myapp
Это создаст новый каталог myapp в вашем проекте, структура которого будет похожа на:
myapp/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
Изменение settings.py
В settings.py зарегистрируйте ваше приложение. Найдите список INSTALLED_APPS и добавьте 'myapp',:
INSTALLED_APPS = [
...
'myapp',
]
5. Создание представлений и шаблонов
Django использует модель MVC, представления и шаблоны дополняют друг друга.
Создание представления
В myapp/views.py определите простое представление:
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
Настройка URL
В каталоге myapp создайте файл с именем urls.py и настройте маршрутизацию URL:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Затем в urls.py проекта импортируйте URL myapp:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
6. Доступ к вашей странице
Теперь вы можете снова запустить сервер разработки и перейти по адресу http://127.0.0.1:8000/. Вы должны увидеть сообщение "Hello, Django!".
7. Добавление поддержки базы данных
Django по умолчанию использует базу данных SQLite, но также поддерживает другие базы данных, такие как MySQL, PostgreSQL и т.д. Вот как настроить SQLite.
Настройки базы данных
В settings.py найдите раздел DATABASES, и по умолчанию конфигурация выглядит следующим образом:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
Вы можете изменить его на другую базу данных по мере необходимости. Например, для использования PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'yourdbname',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
Убедитесь, что вы установили соответствующий драйвер базы данных, например, для PostgreSQL вам нужно установить psycopg2.
pip install psycopg2
8. Создание модели и миграция базы данных
Теперь давайте определим простую модель и мигрируем ее в базу данных.
Создание модели
В myapp/models.py добавьте следующий код, чтобы определить простую модель:
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
def __str__(self):
return self.name
Генерация миграций
Запустите следующую команду для генерации файлов миграции базы данных:
python manage.py makemigrations
Затем примените эти миграции:
python manage.py migrate
9. Создание административного интерфейса
Django поставляется с мощным административным интерфейсом, который упрощает управление данными.
Создание суперпользователя
Создайте учетную запись администратора с помощью следующей команды:
python manage.py createsuperuser
Добавление модели в административный интерфейс
Зарегистрируйте вашу модель в myapp/admin.py:
from django.contrib import admin
from .models import Item
admin.site.register(Item)
Теперь снова запустите сервер разработки, перейдите по адресу http://127.0.0.1:8000/admin, войдите с созданным суперпользователем, и вы увидите только что зарегистрированную модель.
Заключение
Django — это мощный фреймворк для веб-разработки, который поможет вам быстро создать веб-приложение. С помощью методов, описанных в этой статье, вы сможете легко создать простой сайт на Django и расширить его функциональность. По мере углубления ваших знаний о Django вы сможете исследовать более продвинутые функции, такие как аутентификация пользователей, RESTful API, тестирование и т.д. Надеюсь, что это руководство для начинающих поможет вам сделать первый шаг и начать ваше путешествие с Django!





