We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Update grammar in contributing guide
### Idea summary

Improve the grammar in our contributing guide with an automated grammar checker.

### Further details

_No response_

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `project/core/settings.py`
Content:
```
1 """
2 Django settings for civiwiki project.
3 Darius Calliet May 12, 2016
4 
5 Production settings file to select proper environment variables.
6 """
7 import os
8 
9 # False if not in os.environ
10 DEBUG = os.getenv("DEBUG", False)
11 
12 # defaults to second value if not found in os.environ
13 DJANGO_HOST = os.getenv("DJANGO_HOST", "LOCALHOST")
14 
15 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
16 SECRET_KEY = os.getenv("DJANGO_SECRET_KEY", "TEST_KEY_FOR_DEVELOPMENT")
17 ALLOWED_HOSTS = [".herokuapp.com", ".civiwiki.org", "127.0.0.1", "localhost", "0.0.0.0"]
18 
19 INSTALLED_APPS = (
20     "django.contrib.admin",
21     "django.contrib.auth",
22     "django.contrib.contenttypes",
23     "django.contrib.sessions",
24     "django.contrib.messages",
25     "django.contrib.staticfiles",
26     "django_extensions",
27     "storages",
28     "core",
29     "rest_framework",
30     "accounts.apps.AccountsConfig",
31     "threads",
32     "notifications",
33     "corsheaders",
34     "taggit",
35     "categories",
36     "notification",
37     "debug_toolbar",
38 )
39 
40 MIDDLEWARE = [
41     "debug_toolbar.middleware.DebugToolbarMiddleware",
42     "corsheaders.middleware.CorsMiddleware",
43     "django.middleware.security.SecurityMiddleware",
44     "whitenoise.middleware.WhiteNoiseMiddleware",
45     "django.contrib.sessions.middleware.SessionMiddleware",
46     "django.middleware.common.CommonMiddleware",
47     "django.middleware.csrf.CsrfViewMiddleware",
48     "django.contrib.auth.middleware.AuthenticationMiddleware",
49     # 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
50     "django.contrib.messages.middleware.MessageMiddleware",
51     "django.middleware.clickjacking.XFrameOptionsMiddleware",
52 ]
53 
54 INTERNAL_IPS = [
55     "127.0.0.1",
56 ]
57 
58 CSRF_USE_SESSIONS = (
59     True  # Store the CSRF token in the users session instead of in a cookie
60 )
61 
62 CORS_ORIGIN_ALLOW_ALL = True
63 ROOT_URLCONF = "core.urls"
64 
65 # SSL Setup
66 if DJANGO_HOST != "LOCALHOST":
67     SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
68     SECURE_SSL_REDIRECT = True
69     SESSION_COOKIE_SECURE = True
70     CSRF_COOKIE_SECURE = True
71 
72 # Internationalization & Localization
73 LANGUAGE_CODE = "en-us"
74 TIME_ZONE = "UTC"
75 USE_I18N = True
76 USE_L10N = True
77 USE_TZ = True
78 
79 TEMPLATES = [
80     {
81         "BACKEND": "django.template.backends.django.DjangoTemplates",
82         "DIRS": [
83             os.path.join(BASE_DIR, "threads/templates/threads"),
84             os.path.join(BASE_DIR, "accounts/templates/accounts"),
85         ],  # TODO: Add non-webapp template directory
86         "APP_DIRS": True,
87         "OPTIONS": {
88             "context_processors": [
89                 "django.template.context_processors.debug",
90                 "django.template.context_processors.request",
91                 "django.contrib.auth.context_processors.auth",
92                 "django.contrib.messages.context_processors.messages",
93             ],
94         },
95     },
96 ]
97 
98 WSGI_APPLICATION = "core.wsgi.application"
99 
100 # Apex Contact for Production Errors
101 ADMINS = [("Development Team", "dev@civiwiki.org")]
102 
103 STATIC_URL = "/static/"
104 STATICFILES_DIRS = (os.path.join(BASE_DIR, "core/templates/static"),)
105 STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
106 
107 MEDIA_ROOT = os.path.join(BASE_DIR, "media")
108 MEDIA_URL = "/media/"
109 
110 # TODO: re-organize and simplify staticfiles settings
111 if "CIVIWIKI_LOCAL_NAME" not in os.environ:
112     STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
113 
114 # Use DATABASE_URL in production
115 DATABASE_URL = os.getenv("DATABASE_URL")
116 
117 if DATABASE_URL is not None:
118     DATABASES = {"default": DATABASE_URL}
119 else:
120     # Default to sqlite for simplicity in development
121     DATABASES = {
122         "default": {
123             "ENGINE": "django.db.backends.sqlite3",
124             "NAME": BASE_DIR + "/" + "db.sqlite3",
125         }
126     }
127 
128 # Email Backend Setup
129 if "EMAIL_HOST" not in os.environ:
130     EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
131     EMAIL_HOST_USER = "test@civiwiki.org"
132 else:
133     EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
134     EMAIL_HOST = os.getenv("EMAIL_HOST")
135     EMAIL_PORT = os.getenv("EMAIL_PORT")
136     EMAIL_HOST_USER = os.getenv("EMAIL_HOST_USER")
137     EMAIL_HOST_PASSWORD = os.getenv("EMAIL_HOST_PASSWORD")
138     EMAIL_USE_SSL = True
139     DEFAULT_FROM_EMAIL = EMAIL_HOST
140 
141 # Notification API Settings
142 NOTIFICATIONS_SOFT_DELETE = True
143 NOTIFICATIONS_USE_JSONFIELD = True
144 
145 # Django REST API Settings
146 DEFAULT_RENDERER_CLASSES = ("rest_framework.renderers.JSONRenderer",)
147 
148 if DEBUG:
149     # Browsable HTML - Enabled only in Debug mode (dev)
150     DEFAULT_RENDERER_CLASSES = DEFAULT_RENDERER_CLASSES + (
151         "rest_framework.renderers.BrowsableAPIRenderer",
152     )
153 
154 REST_FRAMEWORK = {
155     "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.IsAuthenticated",),
156     "DEFAULT_RENDERER_CLASSES": DEFAULT_RENDERER_CLASSES,
157     "DEFAULT_AUTHENTICATION_CLASSES": (
158         "rest_framework.authentication.BasicAuthentication",
159         "rest_framework.authentication.SessionAuthentication",
160     ),
161 }
162 
163 # CORS Settings
164 CORS_ORIGIN_ALLOW_ALL = True
165 
166 # Custom User model
167 AUTH_USER_MODEL = "accounts.User"
168 
169 DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
170 
171 # Login Logout URLS
172 LOGIN_URL = "login/"
173 LOGIN_REDIRECT_URL = "/"
174 LOGOUT_REDIRECT_URL = "/"
175 
176 AUTH_PASSWORD_VALIDATORS = [
177     {
178         "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",  # noqa: E501
179     },
180     {
181         "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
182         "OPTIONS": {
183             "min_length": 4,
184         },
185     },
186     {
187         "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
188     },
189     {
190         "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
191     },
192 ]
193 
194 LOGGING = {
195     "version": 1,
196     "disable_existing_loggers": False,
197     "formatters": {"rich": {"datefmt": "[%X]"}},
198     "handlers": {
199         "console": {
200             "class": "rich.logging.RichHandler",
201             "formatter": "rich",
202             "level": "WARNING",
203             # "filters": ["require_debug_true"],
204             "rich_tracebacks": True,
205             "tracebacks_show_locals": True,
206         }
207     },
208     "loggers": {"django": {"handlers": ["console"]}},
209 }
210
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/project/core/settings.py b/project/core/settings.py
--- a/project/core/settings.py
+++ b/project/core/settings.py
@@ -107,9 +107,7 @@
 MEDIA_ROOT = os.path.join(BASE_DIR, "media")
 MEDIA_URL = "/media/"
 
-# TODO: re-organize and simplify staticfiles settings
-if "CIVIWIKI_LOCAL_NAME" not in os.environ:
-    STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
+STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
 
 # Use DATABASE_URL in production
 DATABASE_URL = os.getenv("DATABASE_URL")

{"golden_diff": "diff --git a/project/core/settings.py b/project/core/settings.py\n--- a/project/core/settings.py\n+++ b/project/core/settings.py\n@@ -107,9 +107,7 @@\n MEDIA_ROOT = os.path.join(BASE_DIR, \"media\")\n MEDIA_URL = \"/media/\"\n \n-# TODO: re-organize and simplify staticfiles settings\n-if \"CIVIWIKI_LOCAL_NAME\" not in os.environ:\n-    STATICFILES_STORAGE = \"whitenoise.storage.CompressedManifestStaticFilesStorage\"\n+STATICFILES_STORAGE = \"whitenoise.storage.CompressedManifestStaticFilesStorage\"\n \n # Use DATABASE_URL in production\n DATABASE_URL = os.getenv(\"DATABASE_URL\")\n", "issue": "Update grammar in contributing guide\n### Idea summary\n\nImprove the grammar in our contributing guide with an automated grammar checker.\n\n### Further details\n\n_No response_\n", "before_files": [{"content": "\"\"\"\nDjango settings for civiwiki project.\nDarius Calliet May 12, 2016\n\nProduction settings file to select proper environment variables.\n\"\"\"\nimport os\n\n# False if not in os.environ\nDEBUG = os.getenv(\"DEBUG\", False)\n\n# defaults to second value if not found in os.environ\nDJANGO_HOST = os.getenv(\"DJANGO_HOST\", \"LOCALHOST\")\n\nBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nSECRET_KEY = os.getenv(\"DJANGO_SECRET_KEY\", \"TEST_KEY_FOR_DEVELOPMENT\")\nALLOWED_HOSTS = [\".herokuapp.com\", \".civiwiki.org\", \"127.0.0.1\", \"localhost\", \"0.0.0.0\"]\n\nINSTALLED_APPS = (\n    \"django.contrib.admin\",\n    \"django.contrib.auth\",\n    \"django.contrib.contenttypes\",\n    \"django.contrib.sessions\",\n    \"django.contrib.messages\",\n    \"django.contrib.staticfiles\",\n    \"django_extensions\",\n    \"storages\",\n    \"core\",\n    \"rest_framework\",\n    \"accounts.apps.AccountsConfig\",\n    \"threads\",\n    \"notifications\",\n    \"corsheaders\",\n    \"taggit\",\n    \"categories\",\n    \"notification\",\n    \"debug_toolbar\",\n)\n\nMIDDLEWARE = [\n    \"debug_toolbar.middleware.DebugToolbarMiddleware\",\n    \"corsheaders.middleware.CorsMiddleware\",\n    \"django.middleware.security.SecurityMiddleware\",\n    \"whitenoise.middleware.WhiteNoiseMiddleware\",\n    \"django.contrib.sessions.middleware.SessionMiddleware\",\n    \"django.middleware.common.CommonMiddleware\",\n    \"django.middleware.csrf.CsrfViewMiddleware\",\n    \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n    # 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',\n    \"django.contrib.messages.middleware.MessageMiddleware\",\n    \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nINTERNAL_IPS = [\n    \"127.0.0.1\",\n]\n\nCSRF_USE_SESSIONS = (\n    True  # Store the CSRF token in the users session instead of in a cookie\n)\n\nCORS_ORIGIN_ALLOW_ALL = True\nROOT_URLCONF = \"core.urls\"\n\n# SSL Setup\nif DJANGO_HOST != \"LOCALHOST\":\n    SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")\n    SECURE_SSL_REDIRECT = True\n    SESSION_COOKIE_SECURE = True\n    CSRF_COOKIE_SECURE = True\n\n# Internationalization & Localization\nLANGUAGE_CODE = \"en-us\"\nTIME_ZONE = \"UTC\"\nUSE_I18N = True\nUSE_L10N = True\nUSE_TZ = True\n\nTEMPLATES = [\n    {\n        \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n        \"DIRS\": [\n            os.path.join(BASE_DIR, \"threads/templates/threads\"),\n            os.path.join(BASE_DIR, \"accounts/templates/accounts\"),\n        ],  # TODO: Add non-webapp template directory\n        \"APP_DIRS\": True,\n        \"OPTIONS\": {\n            \"context_processors\": [\n                \"django.template.context_processors.debug\",\n                \"django.template.context_processors.request\",\n                \"django.contrib.auth.context_processors.auth\",\n                \"django.contrib.messages.context_processors.messages\",\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = \"core.wsgi.application\"\n\n# Apex Contact for Production Errors\nADMINS = [(\"Development Team\", \"dev@civiwiki.org\")]\n\nSTATIC_URL = \"/static/\"\nSTATICFILES_DIRS = (os.path.join(BASE_DIR, \"core/templates/static\"),)\nSTATIC_ROOT = os.path.join(BASE_DIR, \"staticfiles\")\n\nMEDIA_ROOT = os.path.join(BASE_DIR, \"media\")\nMEDIA_URL = \"/media/\"\n\n# TODO: re-organize and simplify staticfiles settings\nif \"CIVIWIKI_LOCAL_NAME\" not in os.environ:\n    STATICFILES_STORAGE = \"whitenoise.storage.CompressedManifestStaticFilesStorage\"\n\n# Use DATABASE_URL in production\nDATABASE_URL = os.getenv(\"DATABASE_URL\")\n\nif DATABASE_URL is not None:\n    DATABASES = {\"default\": DATABASE_URL}\nelse:\n    # Default to sqlite for simplicity in development\n    DATABASES = {\n        \"default\": {\n            \"ENGINE\": \"django.db.backends.sqlite3\",\n            \"NAME\": BASE_DIR + \"/\" + \"db.sqlite3\",\n        }\n    }\n\n# Email Backend Setup\nif \"EMAIL_HOST\" not in os.environ:\n    EMAIL_BACKEND = \"django.core.mail.backends.console.EmailBackend\"\n    EMAIL_HOST_USER = \"test@civiwiki.org\"\nelse:\n    EMAIL_BACKEND = \"django.core.mail.backends.smtp.EmailBackend\"\n    EMAIL_HOST = os.getenv(\"EMAIL_HOST\")\n    EMAIL_PORT = os.getenv(\"EMAIL_PORT\")\n    EMAIL_HOST_USER = os.getenv(\"EMAIL_HOST_USER\")\n    EMAIL_HOST_PASSWORD = os.getenv(\"EMAIL_HOST_PASSWORD\")\n    EMAIL_USE_SSL = True\n    DEFAULT_FROM_EMAIL = EMAIL_HOST\n\n# Notification API Settings\nNOTIFICATIONS_SOFT_DELETE = True\nNOTIFICATIONS_USE_JSONFIELD = True\n\n# Django REST API Settings\nDEFAULT_RENDERER_CLASSES = (\"rest_framework.renderers.JSONRenderer\",)\n\nif DEBUG:\n    # Browsable HTML - Enabled only in Debug mode (dev)\n    DEFAULT_RENDERER_CLASSES = DEFAULT_RENDERER_CLASSES + (\n        \"rest_framework.renderers.BrowsableAPIRenderer\",\n    )\n\nREST_FRAMEWORK = {\n    \"DEFAULT_PERMISSION_CLASSES\": (\"rest_framework.permissions.IsAuthenticated\",),\n    \"DEFAULT_RENDERER_CLASSES\": DEFAULT_RENDERER_CLASSES,\n    \"DEFAULT_AUTHENTICATION_CLASSES\": (\n        \"rest_framework.authentication.BasicAuthentication\",\n        \"rest_framework.authentication.SessionAuthentication\",\n    ),\n}\n\n# CORS Settings\nCORS_ORIGIN_ALLOW_ALL = True\n\n# Custom User model\nAUTH_USER_MODEL = \"accounts.User\"\n\nDEFAULT_AUTO_FIELD = \"django.db.models.AutoField\"\n\n# Login Logout URLS\nLOGIN_URL = \"login/\"\nLOGIN_REDIRECT_URL = \"/\"\nLOGOUT_REDIRECT_URL = \"/\"\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.UserAttributeSimilarityValidator\",  # noqa: E501\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.MinimumLengthValidator\",\n        \"OPTIONS\": {\n            \"min_length\": 4,\n        },\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.CommonPasswordValidator\",\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.NumericPasswordValidator\",\n    },\n]\n\nLOGGING = {\n    \"version\": 1,\n    \"disable_existing_loggers\": False,\n    \"formatters\": {\"rich\": {\"datefmt\": \"[%X]\"}},\n    \"handlers\": {\n        \"console\": {\n            \"class\": \"rich.logging.RichHandler\",\n            \"formatter\": \"rich\",\n            \"level\": \"WARNING\",\n            # \"filters\": [\"require_debug_true\"],\n            \"rich_tracebacks\": True,\n            \"tracebacks_show_locals\": True,\n        }\n    },\n    \"loggers\": {\"django\": {\"handlers\": [\"console\"]}},\n}\n", "path": "project/core/settings.py"}], "after_files": [{"content": "\"\"\"\nDjango settings for civiwiki project.\nDarius Calliet May 12, 2016\n\nProduction settings file to select proper environment variables.\n\"\"\"\nimport os\n\n# False if not in os.environ\nDEBUG = os.getenv(\"DEBUG\", False)\n\n# defaults to second value if not found in os.environ\nDJANGO_HOST = os.getenv(\"DJANGO_HOST\", \"LOCALHOST\")\n\nBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\nSECRET_KEY = os.getenv(\"DJANGO_SECRET_KEY\", \"TEST_KEY_FOR_DEVELOPMENT\")\nALLOWED_HOSTS = [\".herokuapp.com\", \".civiwiki.org\", \"127.0.0.1\", \"localhost\", \"0.0.0.0\"]\n\nINSTALLED_APPS = (\n    \"django.contrib.admin\",\n    \"django.contrib.auth\",\n    \"django.contrib.contenttypes\",\n    \"django.contrib.sessions\",\n    \"django.contrib.messages\",\n    \"django.contrib.staticfiles\",\n    \"django_extensions\",\n    \"storages\",\n    \"core\",\n    \"rest_framework\",\n    \"accounts.apps.AccountsConfig\",\n    \"threads\",\n    \"notifications\",\n    \"corsheaders\",\n    \"taggit\",\n    \"categories\",\n    \"notification\",\n    \"debug_toolbar\",\n)\n\nMIDDLEWARE = [\n    \"debug_toolbar.middleware.DebugToolbarMiddleware\",\n    \"corsheaders.middleware.CorsMiddleware\",\n    \"django.middleware.security.SecurityMiddleware\",\n    \"whitenoise.middleware.WhiteNoiseMiddleware\",\n    \"django.contrib.sessions.middleware.SessionMiddleware\",\n    \"django.middleware.common.CommonMiddleware\",\n    \"django.middleware.csrf.CsrfViewMiddleware\",\n    \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n    # 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',\n    \"django.contrib.messages.middleware.MessageMiddleware\",\n    \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nINTERNAL_IPS = [\n    \"127.0.0.1\",\n]\n\nCSRF_USE_SESSIONS = (\n    True  # Store the CSRF token in the users session instead of in a cookie\n)\n\nCORS_ORIGIN_ALLOW_ALL = True\nROOT_URLCONF = \"core.urls\"\n\n# SSL Setup\nif DJANGO_HOST != \"LOCALHOST\":\n    SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")\n    SECURE_SSL_REDIRECT = True\n    SESSION_COOKIE_SECURE = True\n    CSRF_COOKIE_SECURE = True\n\n# Internationalization & Localization\nLANGUAGE_CODE = \"en-us\"\nTIME_ZONE = \"UTC\"\nUSE_I18N = True\nUSE_L10N = True\nUSE_TZ = True\n\nTEMPLATES = [\n    {\n        \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n        \"DIRS\": [\n            os.path.join(BASE_DIR, \"threads/templates/threads\"),\n            os.path.join(BASE_DIR, \"accounts/templates/accounts\"),\n        ],  # TODO: Add non-webapp template directory\n        \"APP_DIRS\": True,\n        \"OPTIONS\": {\n            \"context_processors\": [\n                \"django.template.context_processors.debug\",\n                \"django.template.context_processors.request\",\n                \"django.contrib.auth.context_processors.auth\",\n                \"django.contrib.messages.context_processors.messages\",\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = \"core.wsgi.application\"\n\n# Apex Contact for Production Errors\nADMINS = [(\"Development Team\", \"dev@civiwiki.org\")]\n\nSTATIC_URL = \"/static/\"\nSTATICFILES_DIRS = (os.path.join(BASE_DIR, \"core/templates/static\"),)\nSTATIC_ROOT = os.path.join(BASE_DIR, \"staticfiles\")\n\nMEDIA_ROOT = os.path.join(BASE_DIR, \"media\")\nMEDIA_URL = \"/media/\"\n\nSTATICFILES_STORAGE = \"whitenoise.storage.CompressedManifestStaticFilesStorage\"\n\n# Use DATABASE_URL in production\nDATABASE_URL = os.getenv(\"DATABASE_URL\")\n\nif DATABASE_URL is not None:\n    DATABASES = {\"default\": DATABASE_URL}\nelse:\n    # Default to sqlite for simplicity in development\n    DATABASES = {\n        \"default\": {\n            \"ENGINE\": \"django.db.backends.sqlite3\",\n            \"NAME\": BASE_DIR + \"/\" + \"db.sqlite3\",\n        }\n    }\n\n# Email Backend Setup\nif \"EMAIL_HOST\" not in os.environ:\n    EMAIL_BACKEND = \"django.core.mail.backends.console.EmailBackend\"\n    EMAIL_HOST_USER = \"test@civiwiki.org\"\nelse:\n    EMAIL_BACKEND = \"django.core.mail.backends.smtp.EmailBackend\"\n    EMAIL_HOST = os.getenv(\"EMAIL_HOST\")\n    EMAIL_PORT = os.getenv(\"EMAIL_PORT\")\n    EMAIL_HOST_USER = os.getenv(\"EMAIL_HOST_USER\")\n    EMAIL_HOST_PASSWORD = os.getenv(\"EMAIL_HOST_PASSWORD\")\n    EMAIL_USE_SSL = True\n    DEFAULT_FROM_EMAIL = EMAIL_HOST\n\n# Notification API Settings\nNOTIFICATIONS_SOFT_DELETE = True\nNOTIFICATIONS_USE_JSONFIELD = True\n\n# Django REST API Settings\nDEFAULT_RENDERER_CLASSES = (\"rest_framework.renderers.JSONRenderer\",)\n\nif DEBUG:\n    # Browsable HTML - Enabled only in Debug mode (dev)\n    DEFAULT_RENDERER_CLASSES = DEFAULT_RENDERER_CLASSES + (\n        \"rest_framework.renderers.BrowsableAPIRenderer\",\n    )\n\nREST_FRAMEWORK = {\n    \"DEFAULT_PERMISSION_CLASSES\": (\"rest_framework.permissions.IsAuthenticated\",),\n    \"DEFAULT_RENDERER_CLASSES\": DEFAULT_RENDERER_CLASSES,\n    \"DEFAULT_AUTHENTICATION_CLASSES\": (\n        \"rest_framework.authentication.BasicAuthentication\",\n        \"rest_framework.authentication.SessionAuthentication\",\n    ),\n}\n\n# CORS Settings\nCORS_ORIGIN_ALLOW_ALL = True\n\n# Custom User model\nAUTH_USER_MODEL = \"accounts.User\"\n\nDEFAULT_AUTO_FIELD = \"django.db.models.AutoField\"\n\n# Login Logout URLS\nLOGIN_URL = \"login/\"\nLOGIN_REDIRECT_URL = \"/\"\nLOGOUT_REDIRECT_URL = \"/\"\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.UserAttributeSimilarityValidator\",  # noqa: E501\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.MinimumLengthValidator\",\n        \"OPTIONS\": {\n            \"min_length\": 4,\n        },\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.CommonPasswordValidator\",\n    },\n    {\n        \"NAME\": \"django.contrib.auth.password_validation.NumericPasswordValidator\",\n    },\n]\n\nLOGGING = {\n    \"version\": 1,\n    \"disable_existing_loggers\": False,\n    \"formatters\": {\"rich\": {\"datefmt\": \"[%X]\"}},\n    \"handlers\": {\n        \"console\": {\n            \"class\": \"rich.logging.RichHandler\",\n            \"formatter\": \"rich\",\n            \"level\": \"WARNING\",\n            # \"filters\": [\"require_debug_true\"],\n            \"rich_tracebacks\": True,\n            \"tracebacks_show_locals\": True,\n        }\n    },\n    \"loggers\": {\"django\": {\"handlers\": [\"console\"]}},\n}\n", "path": "project/core/settings.py"}]}