Пример 1: Полный .env файл проекта
# .env (НЕ коммитить в git!)
SECRET_KEY=django-insecure-very-secret-key-change-in-production
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost
# MySQL (опционально)
MYSQL=False
DB_NAME=django_project
DB_USER=username
DB_PASSWORD=password
DB_HOST=localhost
DB_PORT=3306
Пример 2: settings.py с полной интеграцией django-environ
# config/settings.py
from pathlib import Path
from environ import Env
BASE_DIR = Path(__file__).resolve().parent.parent
# Инициализируем environ
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=[])
# Приложения
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Наши приложения
'first_app.apps.FirstAppConfig',
]
# База данных — условный выбор
if env.bool('MYSQL', default=False):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': env('DB_NAME'),
'USER': env('DB_USER'),
'PASSWORD': env('DB_PASSWORD'),
'HOST': env('DB_HOST'),
'PORT': env('DB_PORT'),
},
}
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
},
}
Пример 3: first_app/views.py
# first_app/views.py
from django.http import HttpResponse
def first_view(request):
return HttpResponse("<h1>Hello! It's my first view!</h1>")
Пример 4: first_app/urls.py
# first_app/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('first/', views.first_view, name='first_view'),
]
Пример 5: Корневой config/urls.py с include()
# 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')), # подключение маршрутов приложения
]
Результат: После
python manage.py runserver переходим на http://127.0.0.1:8000/first/ и видим заголовок «Hello! It's my first view!».
Пример 6: .gitignore для Django-проекта
# .gitignore
.env
__pycache__/
*.pyc
db.sqlite3
venv/
.venv/
Обязательно добавьте .env в .gitignore перед первым коммитом.