2014-12-04 11:11:46 +00:00
# Production settings
import os
2018-10-20 00:05:10 +00:00
from unipath import Path
2014-12-04 11:11:46 +00:00
PROJECT_ROOT = Path ( __file__ ) . ancestor ( 2 )
2016-03-07 10:54:51 +00:00
DEBUG = False
2014-12-04 11:11:46 +00:00
TEMPLATE_DEBUG = DEBUG
2021-05-28 07:51:30 +00:00
ADMINS = (
os . environ . get ( " ADMINS " , " Paul Hallett,paulandrewhallett@gmail.com " ) . split ( " , " ) ,
)
2014-12-04 11:11:46 +00:00
2020-02-17 20:58:07 +00:00
EMAIL_BACKEND = " django.core.mail.backends.console.EmailBackend "
2015-09-06 01:22:06 +00:00
2014-12-04 11:11:46 +00:00
MANAGERS = ADMINS
2021-05-22 17:20:05 +00:00
BASE_URL = os . environ . get ( " BASE_URL " , " http://pokeapi.co " )
2015-09-06 01:22:06 +00:00
2014-12-04 11:11:46 +00:00
# Hosts/domain names that are valid for this site; required if DEBUG is False
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
2021-05-28 07:51:30 +00:00
ALLOWED_HOSTS = [
os . environ . get ( " ALLOWED_HOSTS " , " .pokeapi.co " ) ,
" localhost " ,
" 127.0.0.1 " ,
]
2014-12-04 11:11:46 +00:00
2021-05-22 17:20:05 +00:00
TIME_ZONE = os . environ . get ( " TIME_ZONE " , " Europe/London " )
2014-12-04 11:11:46 +00:00
2021-05-22 17:20:05 +00:00
LANGUAGE_CODE = os . environ . get ( " LANGUAGE_CODE " , " en-gb " )
2014-12-04 11:11:46 +00:00
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
2015-10-18 23:01:33 +00:00
# Explicitly define test runner to avoid warning messages on test execution
2020-02-17 20:58:07 +00:00
TEST_RUNNER = " django.test.runner.DiscoverRunner "
2015-10-18 23:01:33 +00:00
2018-10-18 20:49:00 +00:00
MIDDLEWARE = [
2020-02-17 20:58:07 +00:00
" corsheaders.middleware.CorsMiddleware " ,
" django.middleware.common.CommonMiddleware " ,
" django.contrib.sessions.middleware.SessionMiddleware " ,
" django.middleware.csrf.CsrfViewMiddleware " ,
" django.contrib.auth.middleware.AuthenticationMiddleware " ,
" django.contrib.messages.middleware.MessageMiddleware " ,
" django.middleware.clickjacking.XFrameOptionsMiddleware " ,
2018-10-18 20:23:48 +00:00
]
2014-12-04 11:11:46 +00:00
2020-02-17 20:58:07 +00:00
ROOT_URLCONF = " config.urls "
2014-12-04 11:11:46 +00:00
2020-02-17 20:58:07 +00:00
WSGI_APPLICATION = " config.wsgi.application "
2014-12-04 11:11:46 +00:00
DATABASES = {
2020-02-17 20:58:07 +00:00
" default " : {
" ENGINE " : " django.db.backends.postgresql_psycopg2 " ,
" NAME " : " pokeapi_co_db " ,
" USER " : " root " ,
" PASSWORD " : " pokeapi " ,
" HOST " : " localhost " ,
" PORT " : " " ,
" CONN_MAX_AGE " : 30 ,
2014-12-04 11:11:46 +00:00
}
}
CACHES = {
2016-04-30 14:36:56 +00:00
" default " : {
" BACKEND " : " django_redis.cache.RedisCache " ,
" LOCATION " : " redis://127.0.0.1:6379/1 " ,
2020-11-23 21:05:49 +00:00
" OPTIONS " : {
" CLIENT_CLASS " : " django_redis.client.DefaultClient " ,
} ,
2016-04-30 14:36:56 +00:00
}
2014-12-04 11:11:46 +00:00
}
SECRET_KEY = os . environ . get (
2020-02-17 20:58:07 +00:00
" SECRET_KEY " , " ubx+22!jbo(^x2_scm-o$*py3e@-awu-n^hipkm % 2l$sw$&2l# "
)
2014-12-04 11:11:46 +00:00
2023-11-25 12:33:36 +00:00
CUSTOM_APPS = ( " pokemon_v2 " , )
2015-09-06 01:22:06 +00:00
2014-12-04 11:11:46 +00:00
INSTALLED_APPS = (
2020-02-17 20:58:07 +00:00
" django.contrib.auth " ,
" django.contrib.contenttypes " ,
" django.contrib.sessions " ,
" django.contrib.sites " ,
" django.contrib.admin " ,
2023-11-23 11:05:30 +00:00
" django.contrib.messages " ,
2020-02-17 20:58:07 +00:00
" django.contrib.humanize " ,
" corsheaders " ,
" rest_framework " ,
" cachalot " ,
2024-03-05 06:54:48 +00:00
" drf_spectacular " ,
2014-12-04 11:11:46 +00:00
) + CUSTOM_APPS
API_LIMIT_PER_PAGE = 1
2014-12-06 22:57:42 +00:00
CORS_ORIGIN_ALLOW_ALL = True
2015-09-06 01:22:06 +00:00
2020-02-17 20:58:07 +00:00
CORS_ALLOW_METHODS = " GET "
2015-09-06 01:22:06 +00:00
2020-02-17 20:58:07 +00:00
CORS_URLS_REGEX = r " ^/api/.*$ "
2016-04-23 13:37:43 +00:00
2015-09-06 01:22:06 +00:00
REST_FRAMEWORK = {
2023-11-22 11:29:16 +00:00
" DEFAULT_RENDERER_CLASSES " : ( " rest_framework.renderers.JSONRenderer " , ) ,
" DEFAULT_PARSER_CLASSES " : ( " rest_framework.renderers.JSONRenderer " , ) ,
2020-02-17 20:58:07 +00:00
" DEFAULT_PAGINATION_CLASS " : " rest_framework.pagination.LimitOffsetPagination " ,
" PAGE_SIZE " : 20 ,
" PAGINATE_BY " : 20 ,
2024-03-05 06:54:48 +00:00
" DEFAULT_SCHEMA_CLASS " : " drf_spectacular.openapi.AutoSchema " ,
2015-09-06 01:22:06 +00:00
}
2023-11-22 11:29:16 +00:00
TEMPLATES = [
{
2023-11-23 11:05:30 +00:00
" BACKEND " : " django.template.backends.django.DjangoTemplates " ,
" DIRS " : [ ] ,
" APP_DIRS " : True ,
" OPTIONS " : {
" context_processors " : [
" django.template.context_processors.debug " ,
" django.template.context_processors.request " ,
" django.contrib.auth.context_processors.auth " ,
" django.contrib.messages.context_processors.messages " ,
2023-11-22 11:29:16 +00:00
] ,
} ,
} ,
2023-11-23 11:05:30 +00:00
]
2024-01-13 16:57:47 +00:00
2024-01-13 17:00:27 +00:00
DEFAULT_AUTO_FIELD = " django.db.models.AutoField "
2024-02-24 07:31:34 +00:00
SPECTACULAR_SETTINGS = {
2024-03-07 07:27:05 +00:00
" TITLE " : " PokéAPI " ,
" DESCRIPTION " : """ All the Pokémon data you ' ll ever need in one place, easily accessible through a modern free open-source RESTful API.
## What is this?
This is a full RESTful API linked to an extensive database detailing everything about the Pokémon main game series .
We ' ve covered everything from Pokémon to Berry Flavors.
## Where do I start?
We have awesome [ documentation ] ( https : / / pokeapi . co / docs / v2 ) on how to use this API . It takes minutes to get started .
This API will always be publicly available and will never require any extensive setup process to consume .
Created by [ * * Paul Hallett * * ( ] https : / / github . com / phalt ) and other [ * * PokéAPI contributors * * * ] ( https : / / github . com / PokeAPI / pokeapi #contributing) around the world. Pokémon and Pokémon character names are trademarks of Nintendo.
""" ,
2024-05-24 06:21:13 +00:00
" SORT_OPERATIONS " : False ,
2024-03-05 06:54:48 +00:00
" SERVERS " : [ { " url " : " https://pokeapi.co " } ] ,
" EXTERNAL_DOCS " : { " url " : " https://pokeapi.co/docs/v2 " } ,
" VERSION " : " 2.7.0 " ,
" SERVE_INCLUDE_SCHEMA " : False ,
" OAS_VERSION " : " 3.1.0 " ,
" COMPONENT_SPLIT_REQUEST " : True ,
" TAGS " : [
2024-05-24 06:24:15 +00:00
{
" name " : " pokemon " ,
" description " : " Pokémon are the creatures that inhabit the world of the Pokémon games " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Pok % C3 % A9mon "
}
} ,
{
" name " : " evolution " ,
" description " : " Evolution (Japanese: 進化 evolution) is a process in which a Pokémon changes into a different species of Pokémon. " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Evolution "
}
} ,
{
" name " : " berries " ,
" description " : " Berries (Japanese: きのみ Tree Fruit) are small, juicy, fleshy fruit. As in the real world, a large variety exists in the Pokémon world, with a large range of flavors and effects " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Berry "
}
} ,
{
" name " : " items " ,
" description " : " An item (Japanese: 道具 tool) is an object in the Pokémon games which the player can pick up, keep in their Bag, and use in some manner " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Item "
}
} ,
{
" name " : " machines " ,
" description " : " Machines are the representation of items that teach moves to Pokémon. " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/TM "
}
} ,
{
" name " : " location " ,
" description " : " Locations that can be visited within the games " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_index_number "
}
} ,
{
" name " : " contest " ,
" description " : " Pokémon Contests (Japanese: ポケモンコンテスト Pokémon Contest) are a type of competition often contrasted with Pokémon battles and held in Contest Halls " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Pok % C3 % A9mon_Contest "
}
} ,
{
" name " : " moves " ,
" description " : " A move (Japanese: わざ move), also known as an attack (Japanese: こうげきわざ attack technique) or technique (Japanese: とくしゅわざ special technique), is the skill Pokémon primarily use in battle. " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/List_of_locations_by_name "
}
} ,
{
" name " : " encounters "
} ,
{
" name " : " games " ,
" description " : " The Pokémon games are all video games in the Pokémon franchise. " ,
" externalDocs " : {
" description " : " Fine more info here " ,
" url " : " https://bulbapedia.bulbagarden.net/wiki/Pok % C3 % A9mon_games "
}
} ,
{
" name " : " utility "
} ,
2024-03-05 06:37:02 +00:00
] ,
2024-02-24 07:31:34 +00:00
}