PyCharm: создание проекта Django

PyCharm — это мощная IDE для Python, которая обеспечивает отличную поддержку фреймворка Django, особенно в профессиональной версии (PyCharm Pro).

Запустите PyCharm и создайте новый проект

  1. Откройте PyCharm, нажмите "New Project"
  2. Выберите "Django" слева
  3. Укажите расположение проекта (Location)
  4. Настройте интерпретатор Python (рекомендуется создать новое виртуальное окружение)

Настройте параметры проекта

  • Имя проекта: используйте комбинацию строчных букв и подчёркиваний (например, DjangoProject)
  • Язык шаблонов: выберите Django по умолчанию
  • Фронтенд-фреймворк: можно выбрать по необходимости (новички могут оставить его невыбранным)
  • Включить Django admin: можно установить флажок

Дождитесь инициализации проекта

PyCharm автоматически:

  1. Создание виртуального окружения
  2. Установите последнюю стабильную версию Django
  3. Создайте базовую структуру проекта

Разбор структуры проекта

После создания вы увидите следующие основные файлы и каталоги:

Корневой каталог проекта

  • manage.py: Инструмент командной строки Django
  • Каталог с тем же именем, что и проект(например, DjangoProject/): Содержит основную конфигурацию проекта

Каталог конфигурации проекта

  • init.py: Обозначает его как пакет Python
  • settings.py: Файл конфигурации проекта
  • urls.py: Конфигурация маршрутизации URL
  • wsgi.py: Конфигурация сервера WSGI

Другие важные файлы

  • requirements.txt: файл зависимостей проекта (PyCharm может создать его автоматически)
  • venv/: каталог виртуального окружения (если вы выбрали создание виртуального окружения)

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

Запуск через PyCharm

  1. Нажмите на выпадающее меню конфигурации запуска в правом верхнем углу PyCharm
  2. Выберите "Конфигурация -> Изменить"

  3. Убедитесь, что сервер Django настроен
  4. Нажмите зелёную кнопку запуска

Запуск через командную строку

  1. Откройте терминал PyCharm
  2. Введите команду:python3 manage.py runserver

    После успешного запуска информация в терминале отображается следующим образом:

    :

  3. Перейдите по адресу http://127.0.0.1:8000 и просмотрите страницу по умолчанию:

Устранение неполадок

  • Конфликт портов: Используйтеpython manage.py runserver 8080Укажите другой порт
  • База данных не мигрирована: Необходимо выполнить при первом запускеpython manage.py migrate

Создайте приложение Django

Создайте новое приложение

Введите следующее в терминале PyCharm:

python3 manage.py startapp myapp

Добавьте приложение вsettings.pyизINSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'myapp',
]

В проектеurls.pyподключите URL-маршруты приложения:

Пример

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

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

Структура каталога приложения

  • migrations/: Файлы миграций базы данных
  • admin.py: Конфигурация административной части
  • apps.py: Конфигурация приложения
  • models.py: Определения моделей данных
  • tests.py: Тестовый код
  • views.py: Функции представлений

Настройте маршрутизацию URL в каталоге myapp

Откройте myapp/models.py, чтобы определить модель. Например:

Пример

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

После сохранения выполните python manage.py makemigrations и python manage.py migrate, чтобы обновить базу данных.

Создайте представления и URL-адреса:

Определите представления в myapp/views.py:

Пример

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'myapp/post_list.html', {'posts': posts})

Настройте URL-адреса в myapp/urls.py (нужно создать вручную):

Пример

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

Создайте папку DjangoProject/templates/myapp/ в корневом каталоге проекта, затем создайте post_list.html в этой папке.

Пример

<!DOCTYPE html>
<html>
<head>
    <title>Список постов</title>
</head>
<body>
    <h1>Посты</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} - {{ post.created_at }}</li>
        {% empty %}
            <li>Нет доступных записей.</li>
        {% endfor %}
    </ul>
</body>
</html>

Убедитесь, что настройка TEMPLATES в settings.py содержит правильный каталог шаблонов:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        ...
    }
]
Другие расширения