Skip to content

Commit 7879b87

Browse files
author
Mario Colombo
authored
Merge pull request #21 from django-cms/develop
Develop > Main
2 parents 409d9da + 6979824 commit 7879b87

File tree

7 files changed

+253
-59
lines changed

7 files changed

+253
-59
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.8
1+
FROM python:3.9
22
WORKDIR /app
33
COPY . /app
44
RUN pip install -r requirements.txt

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ see sections that can be removed - in each case, the section is noted with a com
3939

4040
Options are also available for using Postgres/MySQL, uWSGI/Gunicorn/Guvicorn, etc.
4141

42+
#### Updating requirements
43+
44+
The project uses a 2 step approach, freezing all dependencies with pip-tools. Read more about how to handle it here: https://blog.typodrive.com/2020/02/04/always-freeze-requirements-with-pip-compile-to-avoid-unpleasant-surprises/
45+
4246
## Features
4347

4448
### Static Files with Whitenoise

backend/settings.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,22 @@
6262
'djangocms_googlemap',
6363
'djangocms_video',
6464

65-
# optional django CMS Bootstrap 5 modules
66-
'djangocms_bootstrap5',
67-
'djangocms_bootstrap5.contrib.bootstrap5_alerts',
68-
'djangocms_bootstrap5.contrib.bootstrap5_badge',
69-
'djangocms_bootstrap5.contrib.bootstrap5_card',
70-
'djangocms_bootstrap5.contrib.bootstrap5_carousel',
71-
'djangocms_bootstrap5.contrib.bootstrap5_collapse',
72-
'djangocms_bootstrap5.contrib.bootstrap5_content',
73-
'djangocms_bootstrap5.contrib.bootstrap5_grid',
74-
'djangocms_bootstrap5.contrib.bootstrap5_jumbotron',
75-
'djangocms_bootstrap5.contrib.bootstrap5_link',
76-
'djangocms_bootstrap5.contrib.bootstrap5_listgroup',
77-
'djangocms_bootstrap5.contrib.bootstrap5_media',
78-
'djangocms_bootstrap5.contrib.bootstrap5_picture',
79-
'djangocms_bootstrap5.contrib.bootstrap5_tabs',
80-
'djangocms_bootstrap5.contrib.bootstrap5_utilities',
65+
# optional django CMS Bootstrap 4 modules
66+
'djangocms_bootstrap4',
67+
'djangocms_bootstrap4.contrib.bootstrap4_alerts',
68+
'djangocms_bootstrap4.contrib.bootstrap4_badge',
69+
'djangocms_bootstrap4.contrib.bootstrap4_card',
70+
'djangocms_bootstrap4.contrib.bootstrap4_carousel',
71+
'djangocms_bootstrap4.contrib.bootstrap4_collapse',
72+
'djangocms_bootstrap4.contrib.bootstrap4_content',
73+
'djangocms_bootstrap4.contrib.bootstrap4_grid',
74+
'djangocms_bootstrap4.contrib.bootstrap4_jumbotron',
75+
'djangocms_bootstrap4.contrib.bootstrap4_link',
76+
'djangocms_bootstrap4.contrib.bootstrap4_listgroup',
77+
'djangocms_bootstrap4.contrib.bootstrap4_media',
78+
'djangocms_bootstrap4.contrib.bootstrap4_picture',
79+
'djangocms_bootstrap4.contrib.bootstrap4_tabs',
80+
'djangocms_bootstrap4.contrib.bootstrap4_utilities',
8181
]
8282

8383
MIDDLEWARE = [
@@ -129,8 +129,8 @@
129129
('whitenoise-static-files-demo.html', 'Static File Demo'),
130130

131131
# optional templates that extend base.html, to be used with Bootstrap 5
132-
('page.html', 'Bootstrap5 Demo'),
133-
('feature.html', 'Bootstrap5 Demo with two placeholders')
132+
('page.html', 'Bootstrap 4 Demo'),
133+
('feature.html', 'Bootstrap 4 Demo with two placeholders')
134134
]
135135

136136
WSGI_APPLICATION = 'backend.wsgi.application'

backend/templates/base.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
<meta charset="utf-8">
66
<title>{% block title %}This is my new project home page{% endblock title %}</title>
77
<meta name="viewport" content="width=device-width,initial-scale=1">
8-
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
8+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
9+
<!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> -->
910
{% render_block "css" %}
1011
</head>
1112
<body>
@@ -26,8 +27,11 @@
2627
</div>
2728
{% block content %}{% endblock content %}
2829
</div>
30+
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
2931
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
30-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
32+
33+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
34+
<!-- <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script> -->
3135
{% render_block "js" %}
3236
</body>
3337
</html>

docker-compose.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
version: "2.4"
1+
version: "3"
2+
23
services:
34
web:
45
# the application's web service (container) will use an image based on our Dockerfile
5-
build: "."
6+
build: .
67
# map the internal port 80 to port 8000 on the host
78
ports:
89
- "8000:80"
@@ -13,19 +14,27 @@ services:
1314
# the default command to run whenever the container is launched
1415
command: python manage.py runserver 0.0.0.0:80
1516
# the URL 'postgres' or 'mysql' will point to the application's db service
16-
links:
17-
- "database_default"
17+
networks:
18+
- djangocmsnet
19+
1820
env_file: .env-local
1921

2022
database_default:
2123
# Select one of the following db configurations for the database
2224
image: postgres:9.6-alpine
2325
ports:
24-
- "5432:5432" # allow your local dev env to connect to the db
26+
- "5432:5432/tcp" # allow your local dev env to connect to the db
2527
environment:
2628
POSTGRES_DB: "db"
2729
POSTGRES_PASSWORD: "password"
2830
POSTGRES_HOST_AUTH_METHOD: "trust"
2931
SERVICE_MANAGER: "fsm-postgres"
32+
33+
networks:
34+
- djangocmsnet
35+
3036
volumes:
3137
- ".:/app:rw"
38+
39+
networks:
40+
djangocmsnet:

requirements.in

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Compile this file for changes to take effect:
2+
# pip-compile requirements.in >> requirements.txt
3+
4+
5+
django>=3.1,<3.2 # 3.2 has dark admin theme which looks bad in custom django CMS admin views
6+
dj-database-url==0.5.0
7+
django-storage-url==0.5.0
8+
whitenoise==5.2.0
9+
boto3==1.14.49
10+
11+
psycopg2==2.8.5
12+
13+
uwsgi==2.0.19.1
14+
15+
# key requirements for django CMS
16+
django-cms<4
17+
django-classy-tags>=2.0
18+
django-sekizai>=2.0
19+
six
20+
pytz
21+
22+
# optional, but used in most projects
23+
djangocms-admin-style>=2.0,<3.0
24+
25+
# the default CKEditor - optional, but used in most projects
26+
djangocms-text-ckeditor>=4.0,<5.0
27+
28+
# some content plugins - optional, but used in most projects
29+
djangocms-link>=3.0,<4.0
30+
djangocms-icon>=2.0,<3.0
31+
djangocms-style>=3.0,<4.0
32+
djangocms-googlemap>=2.0,<3.0
33+
djangocms-video>=3.0,<4.0
34+
djangocms-file>=3.0,<4.0
35+
djangocms-picture>=3.0,<4.0
36+
37+
38+
# optional django CMS Bootstrap 4 modules
39+
djangocms-bootstrap4>=2.0,<3.0
40+
# optional django CMS Bootstrap 5 modules (alpha) - requires BS5 frontend setup in the templates
41+
# as of Q4 2021 there are still basic issues with djangocms-bootstrap5
42+
# https://github.com/gl-agnx/djangocms-bootstrap5/archive/refs/heads/master.zip#egg=djangocms_bootstrap5
43+
44+
# Django Filer - optional, but used in most projects (alpha)
45+
https://github.com/django-cms/django-filer/archive/refs/tags/2.1rc4.zip#egg=django-filer
46+
47+
pip-tools # needed for compilation of this file into requirements.txt, see start of file

requirements.txt

Lines changed: 163 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,167 @@
1-
django>=3.1,<3.2 # 3.2 has dark admin theme which looks bad in custom django CMS admin views
1+
#
2+
# This file is autogenerated by pip-compile with python 3.8
3+
# To update, run:
4+
#
5+
# pip-compile requirements.in
6+
#
7+
asgiref==3.4.1
8+
# via django
9+
boto3==1.14.49
10+
# via -r requirements.in
11+
botocore==1.17.63
12+
# via
13+
# boto3
14+
# s3transfer
15+
cssselect2==0.4.1
16+
# via svglib
217
dj-database-url==0.5.0
18+
# via -r requirements.in
19+
django==3.1.13
20+
# via
21+
# -r requirements.in
22+
# django-classy-tags
23+
# django-cms
24+
# django-formtools
25+
# django-sekizai
26+
# django-storages
27+
# django-treebeard
28+
# easy-thumbnails
29+
django-classy-tags==2.0.0
30+
# via
31+
# -r requirements.in
32+
# django-cms
33+
# django-sekizai
34+
django-cms==3.9.0
35+
# via
36+
# -r requirements.in
37+
# djangocms-attributes-field
38+
# djangocms-bootstrap4
39+
# djangocms-file
40+
# djangocms-googlemap
41+
# djangocms-icon
42+
# djangocms-link
43+
# djangocms-picture
44+
# djangocms-style
45+
# djangocms-text-ckeditor
46+
# djangocms-video
47+
django-filer @ https://github.com/django-cms/django-filer/archive/refs/tags/2.1rc4.zip
48+
# via
49+
# -r requirements.in
50+
# djangocms-bootstrap4
51+
# djangocms-file
52+
# djangocms-googlemap
53+
# djangocms-link
54+
# djangocms-picture
55+
# djangocms-video
56+
django-formtools==2.3
57+
# via django-cms
58+
django-sekizai==2.0.0
59+
# via
60+
# -r requirements.in
61+
# django-cms
362
django-storage-url==0.5.0
4-
whitenoise==5.2.0
5-
boto3==1.14.49
6-
63+
# via -r requirements.in
64+
django-storages==1.11.1
65+
# via django-storage-url
66+
django-treebeard==4.5.1
67+
# via django-cms
68+
djangocms-admin-style==2.0.2
69+
# via
70+
# -r requirements.in
71+
# django-cms
72+
djangocms-attributes-field==2.0.0
73+
# via
74+
# djangocms-bootstrap4
75+
# djangocms-file
76+
# djangocms-icon
77+
# djangocms-link
78+
# djangocms-picture
79+
# djangocms-style
80+
# djangocms-video
81+
djangocms-bootstrap4==2.0.0
82+
# via -r requirements.in
83+
djangocms-file==3.0.0
84+
# via -r requirements.in
85+
djangocms-googlemap==2.0.0
86+
# via -r requirements.in
87+
djangocms-icon==2.0.0
88+
# via
89+
# -r requirements.in
90+
# djangocms-bootstrap4
91+
djangocms-link==3.0.0
92+
# via
93+
# -r requirements.in
94+
# djangocms-bootstrap4
95+
djangocms-picture==3.0.0
96+
# via
97+
# -r requirements.in
98+
# djangocms-bootstrap4
99+
djangocms-style==3.0.0
100+
# via -r requirements.in
101+
djangocms-text-ckeditor==4.0.0
102+
# via
103+
# -r requirements.in
104+
# djangocms-bootstrap4
105+
djangocms-video==3.0.0
106+
# via -r requirements.in
107+
docutils==0.15.2
108+
# via botocore
109+
easy-thumbnails==2.8rc0
110+
# via djangocms-picture
111+
furl==2.1.3
112+
# via django-storage-url
113+
html5lib==1.1
114+
# via djangocms-text-ckeditor
115+
jmespath==0.10.0
116+
# via
117+
# boto3
118+
# botocore
119+
lxml==4.6.3
120+
# via svglib
121+
orderedmultidict==1.0.1
122+
# via furl
123+
pillow==8.3.2
124+
# via
125+
# djangocms-text-ckeditor
126+
# easy-thumbnails
127+
# reportlab
7128
psycopg2==2.8.5
8-
129+
# via -r requirements.in
130+
python-dateutil==2.8.2
131+
# via botocore
132+
pytz==2021.1
133+
# via
134+
# -r requirements.in
135+
# django
136+
reportlab==3.6.1
137+
# via
138+
# easy-thumbnails
139+
# svglib
140+
s3transfer==0.3.7
141+
# via boto3
142+
six==1.16.0
143+
# via
144+
# -r requirements.in
145+
# furl
146+
# html5lib
147+
# orderedmultidict
148+
# python-dateutil
149+
sqlparse==0.4.2
150+
# via django
151+
svglib==1.1.0
152+
# via easy-thumbnails
153+
tinycss2==1.1.0
154+
# via
155+
# cssselect2
156+
# svglib
157+
urllib3==1.25.11
158+
# via botocore
9159
uwsgi==2.0.19.1
10-
11-
# key requirements for django CMS
12-
django-cms<4
13-
django-classy-tags>=2.0
14-
django-sekizai>=2.0
15-
six
16-
pytz
17-
18-
# optional, but used in most projects
19-
djangocms-admin-style>=2.0,<3.0
20-
21-
# the default CKEditor - optional, but used in most projects
22-
djangocms-text-ckeditor>=4.0,<5.0
23-
24-
# some content plugins - optional, but used in most projects
25-
djangocms-link>=3.0,<4.0
26-
djangocms-icon>=2.0,<3.0
27-
djangocms-style>=3.0,<4.0
28-
djangocms-googlemap>=2.0,<3.0
29-
djangocms-video>=3.0,<4.0
30-
djangocms-file>=3.0,<4.0
31-
djangocms-picture>=3.0,<4.0
32-
33-
# optional django CMS Bootstrap 5 modules (alpha) - requires BS5 frontend setup in the templates
34-
https://github.com/gl-agnx/djangocms-bootstrap5/archive/refs/heads/master.zip#egg=djangocms_bootstrap5
35-
36-
# Django Filer - optional, but used in most projects (alpha)
37-
https://github.com/django-cms/django-filer/archive/refs/tags/2.1rc4.zip#egg=django-filer
160+
# via -r requirements.in
161+
webencodings==0.5.1
162+
# via
163+
# cssselect2
164+
# html5lib
165+
# tinycss2
166+
whitenoise==5.2.0
167+
# via -r requirements.in

0 commit comments

Comments
 (0)