Skip to main content

A role based admin UI for Django that produces a user friendly and beautiful UI.

Project description

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:

brew install pipx
pipx ensurepath

Then install hatch and commitizen:

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

Install a local python version with pyenv:

pyenv install 3.10
pyenv local 3.10

Create virtualenv

./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

source .venv/bin/activate
pip install -e ".[dev, test]"
# install dependencies in virtualenv without "activate"
.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

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 th NB: Make sure you

git add 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)"

Commit with the message refactor(buildstatic): new version

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
rm dist/*              # optional cleanup

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_cradmin-10.4.1.tar.gz (3.1 MB view details)

Uploaded Source

File details

Details for the file django_cradmin-10.4.1.tar.gz.

File metadata

  • Download URL: django_cradmin-10.4.1.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for django_cradmin-10.4.1.tar.gz
Algorithm Hash digest
SHA256 5b2bc7b5cae5a58dcf3a12ed7d302e1782a5d45f6017bf2016fd0ef89dbc473b
MD5 2d2d69296ec501c06f3dad2cf70a88f9
BLAKE2b-256 4a545c124e4786eec3ec9c0888b6a8e2bb58ec8ab17476facd35ce7c5a0bb1b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page