django-cms / djangocms-bootstrap4

django CMS Bootstrap 4 is a plugin bundle for django CMS providing several components from the popular Bootstrap 4 framework.
https://www.django-cms.org/
Other
82 stars 58 forks source link

Bootstrap version 5 #125

Open pietzschke opened 3 years ago

pietzschke commented 3 years ago

Hi there, are there any plans to upgrade the plugin for bootstrap version 5 or to create an additional plugin for djangocms?

https://blog.getbootstrap.com/2020/06/16/bootstrap-5-alpha/ Looks like v5 will be out for beta soon: https://github.com/twbs/bootstrap/projects/26

pietzschke commented 3 years ago

Any news on this? https://github.com/twbs/bootstrap/projects/27 V5 will be released soon.

crydotsnake commented 3 years ago

Hello,

Currently there are no plans for this yet.

speendo commented 3 years ago

oh that's surprising as bootstrap 5 has just been released.

Is it unpolite to ask why there are no plans to follow this step with djangocms?

NicolaiRidani commented 2 years ago

Hi everbody (@MicicFilip, @pietzschke, @zkne, @devyntk, @Mih333, @Gromph)

I would like to briefly clarify a few things :-) The django CMS project has been fully backed by the community for a year now (find out more about the launch of the django CMS Association here). This means that all issues related to the development of django CMS and its plugin ecosystem rely on the work of our contributors. In order to facilitate the contribution process, we have initiated various work groups around different development topics. In terms of Bootstrap 5, no group has come together yet.

So if anyone is interested in working on Bootstrap 5 compatibility, you are more than welcome to join us on Slack and I will happily guide you through the contribution process :-)

By the way, we reward contributors who create pull requests with merch (see here).

Thx Nicolai

PS: I know that @crydotsnake message does sound a bit harsh but since I know him I'm sure he didn't mean it that way đź‘Ť.

crydotsnake commented 2 years ago

I already created a repo for that, but i havent started yet: https://github.com/crydotsnake/djangocms-bootstrap5

speendo commented 2 years ago

@crydotsnake I'd be happy to help although my abilities and time is/are limited. But you can count on me for smaller tasks.

crydotsnake commented 2 years ago

Thanks a Lot @speendo ! :)

gl-agnx commented 2 years ago

Hello,

Due to a need to have working carousel and other items, I've put together, based on this current repo, a Bootstrap 5 version.

It has been completely renamed, and many of the changes required to support bootstrap 5 (data- to data-bs- for example). It passes the tests and I've tested it on a demo project. Things like the carousel working, other things as well, though I'd expect there may be other changes needed.

You can review it here and pull.

https://github.com/gl-agnx/djangocms-bootstrap5

NicolaiRidani commented 2 years ago

That's actually quite amazing @gl-agnx :-) I have added you to the respective slack channel for further discussion.

khrizo commented 2 years ago

@gl-agnx Bravo!

crydotsnake commented 2 years ago

Hello @gl-agnx,

How do you have tested your package? I tested your package today, but the styling of the Bootstrap 5 components didn’t work with Bootstrap 5 Framework itself.

gl-agnx commented 2 years ago

Hi,

I've been running it with a compiled custom bootstrap 5.1.0 styling. I initially tested it with a CDN variant. I will retest that. Any specific error or component that isn't working?

crydotsnake commented 2 years ago

All of the components aren't working.

The idea is, that you add the Bootstrap Framework itself too your project, and the components in djangocms-boostrap5 should render in the normal bootstrap style. If you for example including Bootstrap 4, and use a Jumbotron Component from the djangocms-bootstrap4 package you will see, the styling works immediately.

gl-agnx commented 2 years ago

Hi @crydotsnake Absolutely. All one would need to do is to link to the Bootstrap CSS (from CDN) or some custom build and it should all work.

For me this works. I have everything rendering as expected in a site with a custom 5.0.1 CSS based on bootstrap (has some styling but most things are standard). But I didn't use pip or any package management. I dropped the directory inside my project (copied from the repo)

Can you provide me with steps you use to run this so I can reproduce and find the issue?

crydotsnake commented 2 years ago

@gl-agnx Use the djangocms Quickstart and include Bootstrap 5 via CDN.

gl-agnx commented 2 years ago

I ran the quickstart docker but I can't get any connection to the python server running at port 8000

web_1 | 2021-09-26T08:15:56.020802032Z Watching for file changes with StatReloader web_1 | 2021-09-26T08:15:56.430326864Z Exception in thread django-main-thread: web_1 | 2021-09-26T08:15:56.430355617Z Traceback (most recent call last): web_1 | 2021-09-26T08:15:56.430359834Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection web_1 | 2021-09-26T08:15:56.430363335Z self.connect() web_1 | 2021-09-26T08:15:56.430365474Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430367824Z return func(*args, kwargs) web_1 | 2021-09-26T08:15:56.430370114Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect web_1 | 2021-09-26T08:15:56.430372536Z self.connection = self.get_new_connection(conn_params) web_1 | 2021-09-26T08:15:56.430374839Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430377189Z return func(*args, kwargs) web_1 | 2021-09-26T08:15:56.430379269Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection web_1 | 2021-09-26T08:15:56.430381594Z connection = Database.connect(conn_params) web_1 | 2021-09-26T08:15:56.430383692Z File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 127, in connect web_1 | 2021-09-26T08:15:56.430385906Z conn = _connect(dsn, connection_factory=connection_factory, *kwasync) web_1 | 2021-09-26T08:15:56.430388242Z psycopg2.OperationalError: could not connect to server: Connection refused web_1 | 2021-09-26T08:15:56.430390484Z Is the server running on host "database_default" (172.18.0.2) and accepting web_1 | 2021-09-26T08:15:56.430393101Z TCP/IP connections on port 5432? web_1 | 2021-09-26T08:15:56.430395308Z web_1 | 2021-09-26T08:15:56.430397321Z web_1 | 2021-09-26T08:15:56.430399337Z The above exception was the direct cause of the following exception: web_1 | 2021-09-26T08:15:56.430401434Z web_1 | 2021-09-26T08:15:56.430403483Z Traceback (most recent call last): web_1 | 2021-09-26T08:15:56.430405788Z File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner web_1 | 2021-09-26T08:15:56.430408118Z self.run() web_1 | 2021-09-26T08:15:56.430410247Z File "/usr/local/lib/python3.8/threading.py", line 870, in run web_1 | 2021-09-26T08:15:56.430412452Z self._target(self._args, self._kwargs) web_1 | 2021-09-26T08:15:56.430414615Z File "/usr/local/lib/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper web_1 | 2021-09-26T08:15:56.430416870Z fn(*args, kwargs) web_1 | 2021-09-26T08:15:56.430419094Z File "/usr/local/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run web_1 | 2021-09-26T08:15:56.430421424Z self.check_migrations() web_1 | 2021-09-26T08:15:56.430423764Z File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 459, in check_migrations web_1 | 2021-09-26T08:15:56.430435999Z executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) web_1 | 2021-09-26T08:15:56.430438408Z File "/usr/local/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in init web_1 | 2021-09-26T08:15:56.430440711Z self.loader = MigrationLoader(self.connection) web_1 | 2021-09-26T08:15:56.430443619Z File "/usr/local/lib/python3.8/site-packages/django/db/migrations/loader.py", line 53, in init web_1 | 2021-09-26T08:15:56.430445942Z self.build_graph() web_1 | 2021-09-26T08:15:56.430448023Z File "/usr/local/lib/python3.8/site-packages/django/db/migrations/loader.py", line 216, in build_graph web_1 | 2021-09-26T08:15:56.430450278Z self.applied_migrations = recorder.applied_migrations() web_1 | 2021-09-26T08:15:56.430452654Z File "/usr/local/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 77, in applied_migrations web_1 | 2021-09-26T08:15:56.430457561Z if self.has_table(): web_1 | 2021-09-26T08:15:56.430459816Z File "/usr/local/lib/python3.8/site-packages/django/db/migrations/recorder.py", line 55, in has_table web_1 | 2021-09-26T08:15:56.430462219Z with self.connection.cursor() as cursor: web_1 | 2021-09-26T08:15:56.430464313Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430466530Z return func(*args, *kwargs) web_1 | 2021-09-26T08:15:56.430468611Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 259, in cursor web_1 | 2021-09-26T08:15:56.430470932Z return self._cursor() web_1 | 2021-09-26T08:15:56.430473173Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 235, in _cursor web_1 | 2021-09-26T08:15:56.430475537Z self.ensure_connection() web_1 | 2021-09-26T08:15:56.430477814Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430480309Z return func(args, kwargs) web_1 | 2021-09-26T08:15:56.430482343Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection web_1 | 2021-09-26T08:15:56.430484599Z self.connect() web_1 | 2021-09-26T08:15:56.430486625Z File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 90, in exit web_1 | 2021-09-26T08:15:56.430488898Z raise dj_exc_value.with_traceback(traceback) from exc_value web_1 | 2021-09-26T08:15:56.430491229Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection web_1 | 2021-09-26T08:15:56.430493605Z self.connect() web_1 | 2021-09-26T08:15:56.430495792Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430498211Z return func(*args, *kwargs) web_1 | 2021-09-26T08:15:56.430500248Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect web_1 | 2021-09-26T08:15:56.430502463Z self.connection = self.get_new_connection(conn_params) web_1 | 2021-09-26T08:15:56.430506843Z File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner web_1 | 2021-09-26T08:15:56.430509135Z return func(args, kwargs) web_1 | 2021-09-26T08:15:56.430511391Z File "/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection web_1 | 2021-09-26T08:15:56.430514177Z connection = Database.connect(conn_params) web_1 | 2021-09-26T08:15:56.430516472Z File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 127, in connect web_1 | 2021-09-26T08:15:56.430518833Z conn = _connect(dsn, connection_factory=connection_factory, **kwasync) web_1 | 2021-09-26T08:15:56.430521008Z django.db.utils.OperationalError: could not connect to server: Connection refused web_1 | 2021-09-26T08:15:56.430523217Z Is the server running on host "database_default" (172.18.0.2) and accepting web_1 | 2021-09-26T08:15:56.430525517Z TCP/IP connections on port 5432? web_1 | 2021-09-26T08:15:56.430527646Z

marksweb commented 2 years ago

@pietzschke check out djangocms-frontend for bootstrap5 support & migration from our old bootstrap4 app.

https://pypi.org/project/djangocms-frontend/

rdawad commented 8 months ago

Does djangocms bootstrap 5 would work with django 4.2.6

marksweb commented 8 months ago

@pietzschke check out djangocms-frontend for bootstrap5 support & migration from our old bootstrap4 app.

https://pypi.org/project/djangocms-frontend/

@rdawad check out this package for bootstrap 5