Skip to main content

Django cradmin

Django custom role based admin UI.

Django cradmin is in BETA. The system is fairly stable, but:

  • We do not have getting started guides.
  • We should have better tests before release. Some parts have been prototyped a lot while we tested out different concepts, and they need a complexity review and better tests.
  • Works with Django 4 and python >=3.8,<3.11

Develop

Requires:

Use conventional commits for GIT commit messages

See https://www.conventionalcommits.org/en/v1.0.0/. You can use this git commit message format in many different ways, but the easiest is:

Install hatch and commitizen

NOTE: You only need hatch if you need to build releases, and you only need commitizen for releases OR to make it easy to follow conventional commits for your commit messages (see Use conventional commits for GIT commit messages above).

First install pipx with:

# NOTE: Not needed with uv
brew install pipx
pipx ensurepath

Then install hatch and commitizen:

# with uv
uv tool install hatch
uv tool install commitizen

# with pipx
pipx install hatch
pipx install commitizen

See https://github.com/pypa/pipx, https://hatch.pypa.io/latest/install/ and https://commitizen-tools.github.io/commitizen/ for more install alternatives if needed, but we really recommend using pipx since that is isolated.

Install development dependencies

(deprecated - use UV) Install a local python version with pyenv:

pyenv install $(pyenv latest -k 3.12)
pyenv local 3.12
Create virtualenv

With UV

uv venv
(deprecated) with pyenv/pip
./tools/recreate-virtualenv.sh

Alternatively, create virtualenv manually (this does the same as recreate-virtualenv.sh):

python -m venv .venv

the ./tools/recreate-virtualenv.sh script is just here to make creating virtualenvs more uniform across different repos because some repos will require extra setup in the virtualenv for package authentication etc.

Install dependencies

# with uv:
uv pip install -e ".[dev,test]"

# with pip:
source .venv/bin/activate   # enable virtualenv
.venv/bin/pip install -e ".[dev,test]"

Run dev server

source .venv/bin/activate   # enable virtualenv
ievv devrun

Run tests

source .venv/bin/activate   # enable virtualenv
pytest django_cradmin

Build css/javascript:

source .venv/bin/activate   # enable virtualenv
nvm use 14    # May need to run "nvm install 14" first
ievv buildstatic
# ... or if you want to watch for changes ...:
ievv buildstatic --watch

Run tests

source .venv/bin/activate   # enable virtualenvbash
pytest django_cradmin

Autoformat code with ruff

If you have not configured your editor to autoformat with ruff, you can run the following command to autoformat all code in the repo:

source .venv/bin/activate   # enable virtualenvbash
ruff format .

Docs

http://django-cradmin.readthedocs.org

License

3-clause BSD license. See the LICENSE file in the same directory as this readme file.

How to release django_cradmin

First make sure you have NO UNCOMITTED CHANGES!

Buildstatic

Remove the previous built static files:

git rm -r django_cradmin/apps/django_cradmin_js/static/django_cradmin_js/ django_cradmin/apps/django_cradmin_styles/static/django_cradmin_styles/

Bump version and add changelog

cz bump --files-only --changelog

Build static files

Create new production static files

nvm use 14    # May need to run "nvm install 14" first
ievv buildstatic --production

Commit static files NB: Make sure you also commit pyproject.toml and django_cradmin/__init__.py, as the new version is in these files now.

git add CHANGELOG.md pyproject.toml django_cradmin/__init__.py django_cradmin/apps/django_cradmin_js/static/django_cradmin_js/ django_cradmin/apps/django_cradmin_styles/static/django_cradmin_styles/
git status
# ... make sure there are no more files that need to be added ...
git commit -m "bump: $(cz version --project)"

Make tag and push

Create tag with the current version

git tag $(cz version --project)
git push && git push --tags

What if the release fails?

See How to revert a bump in the commitizen FAQ.

Release to pypi:

hatch build -t sdist
hatch publish -u __token__
rm dist/*              # optional cleanup

Metadata

Release files for django-cradmin 12.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-cradmin 12.1.1
File Size Uploaded
django_cradmin-12.1.1.tar.gz 3.1 MB Details

Release files / django_cradmin-12.1.1.tar.gz

Download URL django_cradmin-12.1.1.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
5e2e03b02fba5a3cdc4c01076ece6dafed9ae96321e0e22cfff804648f9e601d
BLAKE2b-256 checksum
How to use checksums
d968445ab40c53a9d783240b59229dcc9a903109cbf77f17e6dfcc7d64d79ecf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.10.20 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

12.1.1 This release

1 release file

12.1.0

1 release file

12.0.0

1 release file

11.0.3

1 release file

11.0.2

1 release file

11.0.1

1 release file

11.0.0

1 release file

10.4.1

1 release file

10.4.0

1 release file

10.3.6

1 release file

10.3.5

1 release file

10.3.4

1 release file

10.3.3

1 release file

10.3.2

1 release file

10.3.1

1 release file

10.3.0

1 release file

10.2.1

1 release file

10.2.0

1 release file

10.1.3

1 release file

10.1.2

1 release file

10.1.1

1 release file

10.1.0

1 release file

10.0.1

1 release file

10.0.0

1 release file

9.2.0

1 release file

9.1.0

1 release file

9.0.0

1 release file

8.0.5

1 release file

8.0.4

1 release file

8.0.3

1 release file

8.0.2

1 release file

8.0.1

1 release file

8.0.0

1 release file

7.0.0

1 release file

6.12.2

1 release file

6.12.1

1 release file

6.12.0

1 release file

6.11.2

1 release file

6.11.1

1 release file

6.11.0

1 release file

6.10.1

1 release file

6.10.0

1 release file

6.9.0

1 release file

6.8.0

1 release file

6.7.0

1 release file

6.6.4

1 release file

6.6.3

1 release file

6.6.2

1 release file

6.6.1

1 release file

6.6.0

1 release file

6.5.4

1 release file

6.5.3

1 release file

6.5.2

1 release file

6.5.1

1 release file

6.5.0

1 release file

6.3.0

1 release file

6.2.0

1 release file

6.1.0

1 release file

6.0.3

1 release file

6.0.2

1 release file

6.0.1

1 release file

6.0.0

1 release file

5.2.2

1 release file

5.2.1

1 release file

5.2.0

1 release file

5.1.0

1 release file

5.0.0

1 release file

4.0.0

1 release file

3.0.0

1 release file

2.10.2

1 release file

2.10.1

1 release file

2.10.0

1 release file

2.9.0

1 release file

2.8.0

1 release file

2.7.0

1 release file

2.6.0

1 release file

2.5.0

1 release file

2.4.0

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

1.2.5

1 release file

1.2.4

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page