Content-Length: 418011 | pFad | https://github.com/django-cms/django-cms/pull/7702

50 feat: Add `djangocms` command to quickly start a project by fsbraun · Pull Request #7702 · django-cms/django-cms · GitHub
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add djangocms command to quickly start a project #7702

Merged
merged 20 commits into from
Nov 27, 2023

Conversation

fsbraun
Copy link
Member

@fsbraun fsbraun commented Nov 23, 2023

Description

This PR adds a djangocms command available after installation which invokes

  • Selecting a django CMS version-specific template from https://guthub.com/django-cms/cms-templates
  • Creating a django CMS project using Django's django-admin startproject command
  • Installing requirements either in the template's requirements.in or requirements.txt file
  • Creating the database (./manage.py migrate)
  • Creating a superuser (./manage.py createsuperuser)
  • Checking the installation (./manage.py cms check)

The objective is to make installing django CMS as easy as possible for new users.

Users can specify their own templates using the --template argument (see https://docs.djangoproject.com/en/4.2/ref/django-admin/#startproject)

Separating out the templates into an independent repo django-cms/cms-templates ensures that no information on dependent packages resides in the core's repo.

Since, the addition of a shell command required the change of the setup.py file, this PR also moved all project-specific information in setup.cfg only leaving a stub setup.py.

Installing with the new djangocms command

$ python3 -m .venv venv
$ . .venv/bin/activate
$ pip install django-cms
$ djangocms mysite           # <-- Some user input here for creating the superuser
$ cd mysite
$ ./manage.py runserver

Output upon success

image

Related resources

  • The command is tested for success in a new github action.

  • Docs will be merged separately into the django-cms/docs repo.

Checklist

  • I have opened this pull request against develop-4
  • I have added or modified the tests when changing logic
  • I have followed the conventional commits guidelines to add meaningful information into the changelog
  • I have read the contribution guidelines and I have joined #workgroup-pr-review on Slack to find a “pr review buddy” who is going to review my pull request.

@fsbraun fsbraun added needs to be backported Commits need to be backported 4.1 labels Nov 23, 2023
setup.cfg Show resolved Hide resolved
cms/management/commands/startcmsproject.py Outdated Show resolved Hide resolved
cms/management/commands/startcmsproject.py Outdated Show resolved Hide resolved
cms/management/commands/startcmsproject.py Outdated Show resolved Hide resolved
cms/management/djangocms.py Outdated Show resolved Hide resolved
cms/management/commands/startcmsproject.py Outdated Show resolved Hide resolved
cms/management/commands/startcmsproject.py Outdated Show resolved Hide resolved
cms/management/djangocms.py Outdated Show resolved Hide resolved
@fsbraun fsbraun removed the needs to be backported Commits need to be backported label Nov 27, 2023
Copy link
Member

@marksweb marksweb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok this works well 🎉

@fsbraun fsbraun merged commit d031da3 into django-cms:develop-4 Nov 27, 2023
79 checks passed
fsbraun added a commit that referenced this pull request Dec 10, 2023
* ci: Merge back `release/4.1.x` (4.1.0rc4) into `develop-4` (#7640)

* Fix: Debug toolbar action button has too low contrast in dark mode (#7642)

* feat: django 5 support (#7648)

* Support for Django 5.0

* Fix: test.yml and django Promise handling

* Shorten github action names

* Update test.yml

* Update _cms.scss

* Update setup.py

* test: Run tests against django main branch (#7650)

* ci: Add testing against django main branch

* ci: Add dependabot github action updates

* ci: Test all dbs on django main

* Update postgres

Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* Output django version

Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* Output django version

Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* ci: install requirements before django

* Remove duplicate

Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* Replace get_storage_class with import_string

* Fix ruff

* remove unused code from util. __init__.py

* Fix incomplete property overwrite

* Fix: Lazy choice field implementation was wrong. Added test coverage

* Fix: Add `on-error-continue: true` to django-main-postgres and django-main-mysql github actions

---------

Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* fix: When opening structure board page menu disappears or shows wrong page template (#7671)

* Fix: add .current_page to request for structure board

* Fix caching issue showing wrong selected page template

* Fix: add .current_page to request for structure board

* Fix caching issue showing wrong selected page template

* Add tests

* fix: Update RTD config (#7647)

* Add comments

---------

Co-authored-by: Mark Walker <mark@django-cms.org>

* fix: #7662, add support for python 3.12 and upgrade github actions (#7680)

* fix: #7662, add support for python 3.12 and upgrade github actions

* fix: deprecations

* fix: make some improvements to codespell and the tests for docs

* fix: add updated reqs for docs

* fix: code spell typos

* fix: code spell typos for docs

* fix: some more spell fixes

* fix: pretty much all spelling mistakes

* fix: some more spelling mistakes

* fix: skiplist further

* fix: issue with outdated deps at docs/requirements

* fix: downgrade matplotlib to a version that also builds on python 3.8

* fix: 3.8 build

* fix: try to fix some test failures

* fix: drop 3.8

* fix: upgrade sphinxcontrib-spelling to 8.0.0 so that 3.12 builds

* fix: no need to hardcode sphinx in test requirements

* fix: get the tests passing for sqlite

* fix: sqlite tests finally

* fix: use furo theme for cms 4 as well

:

* fix: use cms 4 for building docs documentation

* fix: same as in develop for cms 3.11.x

* fix: abbreviation into full form to not confused codespell

* fix: `.load` jQuery method erroneously replaced by `.on('load')` (#7679)

* Fix: `.load` jQuery method erroneously replaced by `on('load')`

* fix: Remove `can_publish` permission from django CMS 4 core (#7635)

* Fix css glitch

* Update translations source fill which was missing strings

* Fix: Remove can_publish permission

* Update _toolbar.scss

* Fix: Use svg icons for boolean values in admin (present since Dango 1.11)

* Fix: Update to use .format for icon base

* Fix: missing alt attribute

* fix: Port forward #7664 and #7657 (#7695)

* fix: preserve `view_class` in decorated views (#7664)

* Fix tests

* Bugfix: avoid InvalidCacheKey (memcached) for key-length ~249 (fixes #7595) (#7657)

* Remove docs test from test suite (since covered by separate github action)

* Remove docs requirements from the django-main test

* Add setuptools to requirements for python 3.12

* Add setuptools to requirements.txt

* Fix: Test with current ckeditor

* Undo unnecessary change

* Fix tests for Django 5.1

* Fix: Missing output_field

---------

Co-authored-by: Will Hoey <48737592+Will-Hoey@users.noreply.github.com>
Co-authored-by: wfehr <24782511+wfehr@users.noreply.github.com>

* fix: validate endpoint languages and redirect if not editable (#7691)

* Fix: align language settings for preview and edit endpoints

* Rename to existing "is_editable" method.

* Add "object_is_editable" to toolbar as a common interface to decide if an object is editable

* Fix identation

* fix: Add check for Django's i18n context processor needed for wizards to work (#7699)

* Check for `django.template.context_processors.i18n` preprocessor in the i18n check (required for wizards to work)

* Fix tests ;-)

* feat: Add `djangocms` command to quickly start a project (#7702)

* fix: Localization of permission checks on deleting (#7683)

* Permission in the german version have sometimes german names.

* change django-cms to cms

* Remove specific German locale test

* Update pageadmin.py

* Undo renaming

---------

Co-authored-by: wintergruen <dirk.wintergruen@klassik-stiftung.de>
Co-authored-by: Fabian Braun <fsbraun@gmx.de>

* fix: django 5's choice widget is not lazy (#7707)

* Support for Django 5.0

* Fix: test.yml and django Promise handling

* Shorten github action names

* Update test.yml

* Update _cms.scss

* Update setup.py

* Fix: Django 5 choice widget is not lazy either

* Add test

* Fix: Swapped underscore

* Deprecate SuperLazyIterator and LazyChoiceField

* fix: Page Content Extension toolbar (#7708)

* Fix: page content extension toolbar naming and use latest_content filter

* Align page content extension menu with shown page content

* Deprecate the use for more than one page content object

* fix linting issue

* Accommodate review feedback

* Add some comments

* Readability improvement `ruff format`

* One more readability improvement

* Doc-string update

* Fix typo

Co-authored-by: Jacob Rief <jacob.rief@gmail.com>

* fix: Language chooser options pointing to the same language (#7698)

* Fix: Language chooser

* Ensure page language uniqueness

* Fix linter issue

* Add edit mode and preview mode to language chooser

* Add option to register grouper field for frontend-editable models

* Undo changes to cms_toolbars to avoid code redundancy

* Simplify toolbar utils.

* Remove not util function

* Remove unneeded imports

* fix: allow for `EmptyPageContent`

* Add CONTRIBUTING.rst and CODE_OF_CONDUCT.rst to develop-4 branch (#7713)

---------

Co-authored-by: Mark Walker <mark@django-cms.org>
Co-authored-by: Vinit Kumar <vinit.kumar@kidskonnect.nl>
Co-authored-by: Will Hoey <48737592+Will-Hoey@users.noreply.github.com>
Co-authored-by: wfehr <24782511+wfehr@users.noreply.github.com>
Co-authored-by: dwintergruen <dwinter@comp-hum.de>
Co-authored-by: wintergruen <dirk.wintergruen@klassik-stiftung.de>
Co-authored-by: Jacob Rief <jacob.rief@gmail.com>
@fsbraun fsbraun deleted the feat/djangocms-command branch December 14, 2023 19:04
fsbraun added a commit to fsbraun/django-cms that referenced this pull request Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/django-cms/django-cms/pull/7702

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy