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
Requires:
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:
- Use commitizen: https://commitizen-tools.github.io/commitizen/commit/
- Use an editor extension, like https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits for VScode.
- Just learn to write the format by hand (can be error prone to begin with, but it is fairly easy to learn).
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 a local python version with pyenv:
pyenv install $(pyenv latest -k 3.12)
pyenv local 3.12
./tools/recreate-virtualenv.sh
Alternatively, create virtualenv manually (this does the same as recreate-virtualenv.sh):
python -m venv .venvthe ./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.
source .venv/bin/activate
pip install -e ".[dev, test]"
# install dependencies in virtualenv without "activate"
.venv/bin/pip install -e ".[dev,test]"
source .venv/bin/activate # enable virtualenv
ievv devrun
source .venv/bin/activate # enable virtualenv
pytest django_cradmin
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
http://django-cradmin.readthedocs.org
3-clause BSD license. See the LICENSE file in the same directory as this readme file.
First make sure you have NO UNCOMITTED CHANGES!
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/
cz bump --files-only --changelog
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 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)"
Create tag with the current version
git tag $(cz version --project)
git push && git push --tags
See How to revert a bump in the commitizen FAQ.
hatch build -t sdist
hatch publish
rm dist/* # optional cleanup