· 5 years ago · Apr 13, 2020, 12:22 PM
1"""
2Django settings for yatube_api project.
3
4Generated by 'django-admin startproject' using Django 3.0.1.
5
6For more information on this file, see
7https://docs.djangoproject.com/en/3.0/topics/settings/
8
9For the full list of settings and their values, see
10https://docs.djangoproject.com/en/3.0/ref/settings/
11"""
12
13import os
14
15# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
16BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
17
18
19# Quick-start development settings - unsuitable for production
20# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
21
22# SECURITY WARNING: keep the secret key used in production secret!
23SECRET_KEY = 'vdi9ky(ne+$fjlx%8@5eut%o1v7lo%h(dy^)!z^0wu7aqm$rj9'
24
25# SECURITY WARNING: don't run with debug turned on in production!
26DEBUG = True
27
28ALLOWED_HOSTS = ['*']
29
30
31# Application definition
32
33INSTALLED_APPS = [
34 'django.contrib.admin',
35 'django.contrib.auth',
36 'django.contrib.contenttypes',
37 'django.contrib.sessions',
38 'django.contrib.messages',
39 'django.contrib.staticfiles',
40 'rest_framework',
41 'rest_framework.authtoken',
42 'posts',
43]
44
45MIDDLEWARE = [
46 'django.middleware.security.SecurityMiddleware',
47 'django.contrib.sessions.middleware.SessionMiddleware',
48 'django.middleware.common.CommonMiddleware',
49 'django.middleware.csrf.CsrfViewMiddleware',
50 'django.contrib.auth.middleware.AuthenticationMiddleware',
51 'django.contrib.messages.middleware.MessageMiddleware',
52 'django.middleware.clickjacking.XFrameOptionsMiddleware',
53]
54
55ROOT_URLCONF = 'yatube_api.urls'
56
57TEMPLATES = [
58 {
59 'BACKEND': 'django.template.backends.django.DjangoTemplates',
60 'DIRS': [],
61 'APP_DIRS': True,
62 'OPTIONS': {
63 'context_processors': [
64 'django.template.context_processors.debug',
65 'django.template.context_processors.request',
66 'django.contrib.auth.context_processors.auth',
67 'django.contrib.messages.context_processors.messages',
68 ],
69 },
70 },
71]
72
73WSGI_APPLICATION = 'yatube_api.wsgi.application'
74
75
76# Database
77# https://docs.djangoproject.com/en/3.0/ref/settings/#databases
78
79DATABASES = {
80 'default': {
81 'ENGINE': 'django.db.backends.sqlite3',
82 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
83 }
84}
85
86
87# Password validation
88# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
89
90AUTH_PASSWORD_VALIDATORS = [
91 {
92 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
93 },
94 {
95 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
96 },
97 {
98 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
99 },
100 {
101 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
102 },
103]
104
105
106# Internationalization
107# https://docs.djangoproject.com/en/3.0/topics/i18n/
108
109LANGUAGE_CODE = 'en-us'
110
111TIME_ZONE = 'UTC'
112
113USE_I18N = True
114
115USE_L10N = True
116
117USE_TZ = True
118
119
120# Static files (CSS, JavaScript, Images)
121# https://docs.djangoproject.com/en/3.0/howto/static-files/
122
123STATIC_URL = '/static/'
124
125REST_FRAMEWORK = {
126 'DEFAULT_PERMISSION_CLASSES': [
127 'rest_framework.permissions.IsAuthenticated',
128 ],
129 'DEFAULT_AUTHENTICATION_CLASSES': [
130 'rest_framework.authentication.TokenAuthentication',
131 ],
132 'DEFAULT_PAGINATION_CLASS': 'posts.pagination.CustomPagination',
133 'PAGE_SIZE': 10,
134}