🔖 Справочник команд и методов

⚡ Шпаргалка — все команды практикума

pip install django django-environ mysqlclient
django-admin startproject config .
python manage.py runserver
python manage.py startapp first_app

# settings.py
from environ import Env
env = Env()
Env.read_env(BASE_DIR / '.env')
SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool('DEBUG', default=False)
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=[])

Консольные команды

Установка пакетов

КомандаНазначение
pip install djangoУстановить Django (последняя стабильная версия)
pip install django-environБиблиотека для чтения .env файлов
pip install mysqlclientДрайвер MySQL для Django

django-admin и manage.py

КомандаНазначение
django-admin startproject config .Создать структуру проекта в текущей папке
python manage.py startapp first_appСоздать новое приложение
python manage.py runserverЗапустить dev-сервер на порту 8000
python manage.py runserver 8080Запустить на другом порту
python manage.py migrateПрименить миграции БД
python manage.py shellИнтерактивная оболочка Django

django-environ — методы чтения

МетодТип результатаПример .env
env('KEY')strSECRET_KEY=abc123
env.bool('KEY', default=False)boolDEBUG=True
env.list('KEY', default=[])listALLOWED_HOSTS=127.0.0.1,localhost
env('KEY', default='val')strвернёт 'val' если KEY не задан
env.db('DATABASE_URL')dictDATABASE_URL=sqlite:///db.sqlite3

Подключение .env в settings.py

from pathlib import Path
from environ import Env

BASE_DIR = Path(__file__).resolve().parent.parent
env = Env()
Env.read_env(BASE_DIR / '.env')   # читаем .env из корня проекта

SECRET_KEY = env('SECRET_KEY')
DEBUG = env.bool('DEBUG', default=False)
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=[])

Регистрация приложения

# settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    # ... стандартные приложения Django ...
    'first_app.apps.FirstAppConfig',  # наше приложение
]

Структура urls.py

# first_app/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('first/', views.first_view, name='first_view'),
]

# config/urls.py (корневой)
from django.contrib import admin
from django.urls import path, include

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

Пример простого view

# first_app/views.py
from django.http import HttpResponse

def first_view(request):
    return HttpResponse("<h1>Hello! It's my first view!</h1>")