Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit bc09c56

Browse files
zubairshakoorarbisoftedx-requirements-botiamsobanjaved
authored
Upgrade Django version to 4.2 LTS (#683)
* fix: upgrade django42 * fix: env change in ci ro 42 * fix: indentation fixed * fix: imports order fiixed * fix: django version changed in constraints. * chore: Updating Python Requirements (#684) * fix: problems.py reverted * fix: all re_path changes reverted * fix: changed DEFAULT_FILE_STORAGE into STORAGES for testing * fix: **STORAGES removed * fix: STORAGES changes reverted * fix: django-storages constraint updated to 1.10 * chore: Updating Python Requirements (#685) * fix: added django 42 related settings. * fix: CSRF related settings updated for django42 * fix: add new line at the end of production.py --------- Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com> Co-authored-by: Muhammad Soban Javed <58461728+iamsobanjaved@users.noreply.github.com>
1 parent 35c4016 commit bc09c56

13 files changed

Lines changed: 76 additions & 62 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
3838
- name: Run Tests
3939
run: docker exec -t analytics_api_testing bash -c "cd /edx/app/analytics_api/analytics_api/
40-
&& export TOXENV=django32 && make test.requirements tox.requirements ${{ matrix.targets }}"
40+
&& export TOXENV=django42 && make test.requirements tox.requirements ${{ matrix.targets }}"
4141

4242
- name: Run Coverage
4343
if: matrix.python-version == '3.8' && matrix.targets=='main.test'

analyticsdataserver/settings/base.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@
110110
USE_TZ = True
111111
########## END GENERAL CONFIGURATION
112112

113+
# Django 4.0+ uses zoneinfo if this is not set. We can remove this and
114+
# migrate to zoneinfo after Django 4.2 upgrade. See more on following url
115+
# https://docs.djangoproject.com/en/4.2/releases/4.0/#zoneinfo-default-timezone-implementation
116+
USE_DEPRECATED_PYTZ = True
113117

114118
########## STATIC FILE CONFIGURATION
115119
# See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root
@@ -427,6 +431,7 @@
427431
########## EDX ENTERPRISE DATA CONFIGURATION
428432
API_AUTH_TOKEN = 'put-your-api-token-here'
429433
CSRF_COOKIE_SECURE = False
434+
CSRF_TRUSTED_ORIGINS_WITH_SCHEME = [] # just for Django 4.2 upgrade
430435

431436
EXTRA_APPS = []
432437
SESSION_EXPIRE_AT_BROWSER_CLOSE = False

analyticsdataserver/settings/production.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from os import environ
66

7+
import django
78
import six
89
import yaml
910
# Normally you should not import ANYTHING from Django directly
@@ -52,3 +53,6 @@ def get_env_setting(setting):
5253

5354
for override, value in DB_OVERRIDES.items():
5455
DATABASES['default'][override] = value
56+
57+
if django.VERSION[0] >= 4: # for greater than django 3.2 use schemes.
58+
CSRF_TRUSTED_ORIGINS = CSRF_TRUSTED_ORIGINS_WITH_SCHEME

requirements/base.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,23 @@ asgiref==3.7.2
88
# via
99
# django
1010
# django-countries
11+
backports-zoneinfo==0.2.1
12+
# via django
1113
boto==2.49.0
1214
# via -r requirements/base.in
13-
boto3==1.28.54
15+
boto3==1.28.61
1416
# via -r requirements/base.in
15-
botocore==1.31.54
17+
botocore==1.31.61
1618
# via
1719
# boto3
1820
# s3transfer
1921
certifi==2023.7.22
2022
# via requests
21-
cffi==1.15.1
23+
cffi==1.16.0
2224
# via
2325
# cryptography
2426
# pynacl
25-
charset-normalizer==3.2.0
27+
charset-normalizer==3.3.0
2628
# via requests
2729
click==8.1.7
2830
# via edx-django-utils
@@ -34,7 +36,7 @@ cryptography==41.0.4
3436
# via
3537
# django-fernet-fields-v2
3638
# pyjwt
37-
django==3.2.21
39+
django==4.2.6
3840
# via
3941
# -c requirements/constraints.txt
4042
# -r requirements/base.in
@@ -70,7 +72,7 @@ django-model-utils==4.3.1
7072
# via
7173
# edx-enterprise-data
7274
# edx-rbac
73-
django-storages==1.8
75+
django-storages==1.10.1
7476
# via
7577
# -c requirements/constraints.txt
7678
# -r requirements/base.in
@@ -151,7 +153,7 @@ newrelic==9.1.0
151153
# via edx-django-utils
152154
ordered-set==4.1.0
153155
# via -r requirements/base.in
154-
packaging==23.1
156+
packaging==23.2
155157
# via drf-yasg
156158
pbr==5.11.1
157159
# via stevedore
@@ -178,7 +180,6 @@ python-memcached==1.59
178180
# via -r requirements/base.in
179181
pytz==2023.3.post1
180182
# via
181-
# django
182183
# djangorestframework
183184
# drf-yasg
184185
pyyaml==6.0.1
@@ -194,7 +195,7 @@ requests==2.31.0
194195
# slumber
195196
rules==3.3
196197
# via edx-enterprise-data
197-
s3transfer==0.6.2
198+
s3transfer==0.7.0
198199
# via boto3
199200
semantic-version==2.10.0
200201
# via edx-drf-extensions
@@ -229,7 +230,7 @@ uritemplate==4.1.1
229230
# via
230231
# coreapi
231232
# drf-yasg
232-
urllib3==1.26.16
233+
urllib3==1.26.17
233234
# via
234235
# -r requirements/base.in
235236
# botocore

requirements/constraints.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
# linking to it here is good.
1010

1111
# TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file.
12-
django<4.0
12+
django<4.3
1313

1414
# django-storages version 1.9 drops support for boto storage backend.
15-
django-storages<1.9 # BSD
15+
# pinning before django upgrade, will unpin after that
16+
django-storages<1.11 # BSD
1617

1718
# elasticsearch library cannot be greater than 7.14.0. 7.14.0 library is not compatible with the 7.10 server in stage and prod
1819
elasticsearch < 7.14.0

requirements/dev.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,23 @@ asgiref==3.7.2
88
# via
99
# django
1010
# django-countries
11+
backports-zoneinfo==0.2.1
12+
# via django
1113
boto==2.49.0
1214
# via -r requirements/base.in
13-
boto3==1.28.54
15+
boto3==1.28.61
1416
# via -r requirements/base.in
15-
botocore==1.31.54
17+
botocore==1.31.61
1618
# via
1719
# boto3
1820
# s3transfer
1921
certifi==2023.7.22
2022
# via requests
21-
cffi==1.15.1
23+
cffi==1.16.0
2224
# via
2325
# cryptography
2426
# pynacl
25-
charset-normalizer==3.2.0
27+
charset-normalizer==3.3.0
2628
# via requests
2729
click==8.1.7
2830
# via edx-django-utils
@@ -34,7 +36,7 @@ cryptography==41.0.4
3436
# via
3537
# django-fernet-fields-v2
3638
# pyjwt
37-
django==3.2.21
39+
django==4.2.6
3840
# via
3941
# -c requirements/constraints.txt
4042
# -r requirements/base.in
@@ -70,7 +72,7 @@ django-model-utils==4.3.1
7072
# via
7173
# edx-enterprise-data
7274
# edx-rbac
73-
django-storages==1.8
75+
django-storages==1.10.1
7476
# via
7577
# -c requirements/constraints.txt
7678
# -r requirements/base.in
@@ -153,7 +155,7 @@ newrelic==9.1.0
153155
# via edx-django-utils
154156
ordered-set==4.1.0
155157
# via -r requirements/base.in
156-
packaging==23.1
158+
packaging==23.2
157159
# via drf-yasg
158160
pbr==5.11.1
159161
# via stevedore
@@ -180,7 +182,6 @@ python-memcached==1.59
180182
# via -r requirements/base.in
181183
pytz==2023.3.post1
182184
# via
183-
# django
184185
# djangorestframework
185186
# drf-yasg
186187
pyyaml==6.0.1
@@ -196,7 +197,7 @@ requests==2.31.0
196197
# slumber
197198
rules==3.3
198199
# via edx-enterprise-data
199-
s3transfer==0.6.2
200+
s3transfer==0.7.0
200201
# via boto3
201202
semantic-version==2.10.0
202203
# via edx-drf-extensions
@@ -231,7 +232,7 @@ uritemplate==4.1.1
231232
# via
232233
# coreapi
233234
# drf-yasg
234-
urllib3==1.26.16
235+
urllib3==1.26.17
235236
# via
236237
# -r requirements/base.in
237238
# botocore

requirements/django.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
django==3.2.21
1+
django==4.2.6

requirements/doc.txt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,29 @@ asgiref==3.7.2
1212
# via
1313
# django
1414
# django-countries
15-
babel==2.12.1
15+
babel==2.13.0
1616
# via
1717
# pydata-sphinx-theme
1818
# sphinx
19+
backports-zoneinfo==0.2.1
20+
# via django
1921
beautifulsoup4==4.12.2
2022
# via pydata-sphinx-theme
2123
boto==2.49.0
2224
# via -r requirements/base.in
23-
boto3==1.28.54
25+
boto3==1.28.61
2426
# via -r requirements/base.in
25-
botocore==1.31.54
27+
botocore==1.31.61
2628
# via
2729
# boto3
2830
# s3transfer
2931
certifi==2023.7.22
3032
# via requests
31-
cffi==1.15.1
33+
cffi==1.16.0
3234
# via
3335
# cryptography
3436
# pynacl
35-
charset-normalizer==3.2.0
37+
charset-normalizer==3.3.0
3638
# via requests
3739
click==8.1.7
3840
# via edx-django-utils
@@ -44,7 +46,7 @@ cryptography==41.0.4
4446
# via
4547
# django-fernet-fields-v2
4648
# pyjwt
47-
django==3.2.21
49+
django==4.2.6
4850
# via
4951
# -c requirements/constraints.txt
5052
# -r requirements/base.in
@@ -80,7 +82,7 @@ django-model-utils==4.3.1
8082
# via
8183
# edx-enterprise-data
8284
# edx-rbac
83-
django-storages==1.8
85+
django-storages==1.10.1
8486
# via
8587
# -c requirements/constraints.txt
8688
# -r requirements/base.in
@@ -171,7 +173,7 @@ newrelic==9.1.0
171173
# via edx-django-utils
172174
ordered-set==4.1.0
173175
# via -r requirements/base.in
174-
packaging==23.1
176+
packaging==23.2
175177
# via
176178
# drf-yasg
177179
# pydata-sphinx-theme
@@ -211,7 +213,6 @@ python-memcached==1.59
211213
pytz==2023.3.post1
212214
# via
213215
# babel
214-
# django
215216
# djangorestframework
216217
# drf-yasg
217218
pyyaml==6.0.1
@@ -228,7 +229,7 @@ requests==2.31.0
228229
# sphinx
229230
rules==3.3
230231
# via edx-enterprise-data
231-
s3transfer==0.6.2
232+
s3transfer==0.7.0
232233
# via boto3
233234
semantic-version==2.10.0
234235
# via edx-drf-extensions
@@ -287,7 +288,7 @@ uritemplate==4.1.1
287288
# via
288289
# coreapi
289290
# drf-yasg
290-
urllib3==1.26.16
291+
urllib3==1.26.17
291292
# via
292293
# -r requirements/base.in
293294
# botocore

requirements/pip_tools.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ click==8.1.7
1010
# via pip-tools
1111
importlib-metadata==6.8.0
1212
# via build
13-
packaging==23.1
13+
packaging==23.2
1414
# via build
1515
pip-tools==7.3.0
1616
# via -r requirements/pip_tools.in

0 commit comments

Comments
 (0)