.gitignore
CLAUDE.md
README.md
manage.py
package-lock.json
package.json
pyproject.toml
tox.ini
vitest.config.js
.github/workflows/ci.yml
.github/workflows/docs.yml
.github/workflows/install-test.yml
.github/workflows/release.yml
docs/Makefile
docs/conf.py
docs/contributing.rst
docs/demo.rst
docs/index.rst
docs/install.rst
docs/philosophy.rst
docs/requirements.txt
docs/_static/.gitkeep
docs/_static/screenshots/article-detail.png
docs/_static/screenshots/article-list.png
docs/_static/screenshots/bulk-delete-modal.png
docs/_static/screenshots/item-list.png
docs/_static/screenshots/list-action-bar.png
docs/_static/screenshots/set-category-modal.png
docs/_static/screenshots/site-search.png
docs/_static/screenshots/success-toast.png
docs/reference/clonable.rst
docs/reference/controller.rst
docs/reference/index.rst
docs/reference/model.rst
docs/reference/registry.rst
docs/reference/route.rst
docs/reference/site.rst
docs/reference/templatetags.rst
docs/reference/view.rst
docs/reference/djmvc_api/index.rst
docs/reference/djmvc_auth/index.rst
docs/reference/djmvc_dal/index.rst
docs/reference/djmvc_dal_topbar/index.rst
docs/reference/djmvc_debug/index.rst
docs/reference/djmvc_history/index.rst
docs/reference/mixins/action.rst
docs/reference/mixins/delete.rst
docs/reference/mixins/filter.rst
docs/reference/mixins/form.rst
docs/reference/mixins/index.rst
docs/reference/mixins/list.rst
docs/reference/mixins/list_action.rst
docs/reference/mixins/log.rst
docs/reference/mixins/modelform.rst
docs/reference/mixins/object.rst
docs/reference/mixins/object_modelform.rst
docs/reference/mixins/objectform.rst
docs/reference/mixins/pagination.rst
docs/reference/mixins/tables2.rst
docs/reference/mixins/template.rst
docs/reference/mixins/template_view.rst
docs/reference/views/create.rst
docs/reference/views/delete.rst
docs/reference/views/detail.rst
docs/reference/views/form.rst
docs/reference/views/index.rst
docs/reference/views/list.rst
docs/reference/views/list_action.rst
docs/reference/views/template.rst
docs/reference/views/update.rst
docs/tutorial/index.rst
docs/tutorial/stage0.rst
docs/tutorial/stage1.rst
docs/tutorial/stage2.rst
docs/tutorial/stage3.rst
docs/tutorial/stage4.rst
docs/tutorial/stage5.rst
src/djmvc/__init__.py
src/djmvc/admin.py
src/djmvc/apps.py
src/djmvc/clonable.py
src/djmvc/controller.py
src/djmvc/errors.py
src/djmvc/handlers.py
src/djmvc/introspection.py
src/djmvc/model.py
src/djmvc/models.py
src/djmvc/redirect.py
src/djmvc/registry.py
src/djmvc/route.py
src/djmvc/settings.py
src/djmvc/tests.py
src/djmvc/view.py
src/djmvc.egg-info/PKG-INFO
src/djmvc.egg-info/SOURCES.txt
src/djmvc.egg-info/dependency_links.txt
src/djmvc.egg-info/requires.txt
src/djmvc.egg-info/scm_file_list.json
src/djmvc.egg-info/scm_version.json
src/djmvc.egg-info/top_level.txt
src/djmvc/locale/en/LC_MESSAGES/django.mo
src/djmvc/locale/en/LC_MESSAGES/django.po
src/djmvc/locale/fr/LC_MESSAGES/django.mo
src/djmvc/locale/fr/LC_MESSAGES/django.po
src/djmvc/management/commands/show_urls.py
src/djmvc/templatetags/djmvc.py
src/djmvc/views/action.py
src/djmvc/views/create.py
src/djmvc/views/delete.py
src/djmvc/views/detail.py
src/djmvc/views/filter.py
src/djmvc/views/form.py
src/djmvc/views/generic.py
src/djmvc/views/json.py
src/djmvc/views/list.py
src/djmvc/views/list_action.py
src/djmvc/views/log.py
src/djmvc/views/modelform.py
src/djmvc/views/object.py
src/djmvc/views/objectform.py
src/djmvc/views/pagination.py
src/djmvc/views/search.py
src/djmvc/views/swagger.py
src/djmvc/views/tables2.py
src/djmvc/views/template.py
src/djmvc/views/update.py
src/djmvc_api/__init__.py
src/djmvc_api/apps.py
src/djmvc_api/djmvc.py
src/djmvc_api/middleware.py
src/djmvc_api/models.py
src/djmvc_api/views.py
src/djmvc_api/migrations/0001_initial.py
src/djmvc_api/migrations/0002_rename_from_djmvc_swagger.py
src/djmvc_api/migrations/__init__.py
src/djmvc_api/static/djmvc_api/swagger-ui-bundle.js
src/djmvc_api/static/djmvc_api/swagger-ui-standalone-preset.js
src/djmvc_api/static/djmvc_api/swagger-ui.css
src/djmvc_api/templates/djmvc_api/api.html
src/djmvc_auth/__init__.py
src/djmvc_auth/admin.py
src/djmvc_auth/apps.py
src/djmvc_auth/djmvc.py
src/djmvc_auth/models.py
src/djmvc_auth/tests.py
src/djmvc_auth/views.py
src/djmvc_auth/locale/en/LC_MESSAGES/django.mo
src/djmvc_auth/locale/en/LC_MESSAGES/django.po
src/djmvc_auth/locale/fr/LC_MESSAGES/django.mo
src/djmvc_auth/locale/fr/LC_MESSAGES/django.po
src/djmvc_bulma/__init__.py
src/djmvc_bulma/admin.py
src/djmvc_bulma/apps.py
src/djmvc_bulma/models.py
src/djmvc_bulma/tests.py
src/djmvc_bulma/views.py
src/djmvc_bulma/locale/en/LC_MESSAGES/django.mo
src/djmvc_bulma/locale/en/LC_MESSAGES/django.po
src/djmvc_bulma/locale/fr/LC_MESSAGES/django.mo
src/djmvc_bulma/locale/fr/LC_MESSAGES/django.po
src/djmvc_bulma/static/djmvc_bulma/css/style.css
src/djmvc_bulma/static/djmvc_bulma/js/filter-sidebar.js
src/djmvc_bulma/static/djmvc_bulma/js/filter-sidebar.test.js
src/djmvc_bulma/static/djmvc_bulma/js/form-focus.js
src/djmvc_bulma/static/djmvc_bulma/js/form-focus.test.js
src/djmvc_bulma/static/djmvc_bulma/js/hamburger.js
src/djmvc_bulma/static/djmvc_bulma/js/hamburger.test.js
src/djmvc_bulma/static/djmvc_bulma/js/list-action-bar.js
src/djmvc_bulma/static/djmvc_bulma/js/list-action-bar.test.js
src/djmvc_bulma/static/djmvc_bulma/js/nav-config.js
src/djmvc_bulma/static/djmvc_bulma/js/nav-config.test.js
src/djmvc_bulma/static/djmvc_bulma/js/toast.js
src/djmvc_bulma/static/djmvc_bulma/js/toast.test.js
src/djmvc_bulma/templates/djmvc/400.html
src/djmvc_bulma/templates/djmvc/403.html
src/djmvc_bulma/templates/djmvc/404.html
src/djmvc_bulma/templates/djmvc/500.html
src/djmvc_bulma/templates/djmvc/_actions_column.html
src/djmvc_bulma/templates/djmvc/_checkbox_column.html
src/djmvc_bulma/templates/djmvc/_checkbox_header.html
src/djmvc_bulma/templates/djmvc/_deletion_preview.html
src/djmvc_bulma/templates/djmvc/_error.html
src/djmvc_bulma/templates/djmvc/_filter.html
src/djmvc_bulma/templates/djmvc/_flashes.html
src/djmvc_bulma/templates/djmvc/_object_list.html
src/djmvc_bulma/templates/djmvc/_pagination.html
src/djmvc_bulma/templates/djmvc/_tables2.html
src/djmvc_bulma/templates/djmvc/base.html
src/djmvc_bulma/templates/djmvc/detail.html
src/djmvc_bulma/templates/djmvc/detaillist.html
src/djmvc_bulma/templates/djmvc/error.html
src/djmvc_bulma/templates/djmvc/form.html
src/djmvc_bulma/templates/djmvc/form_delete.html
src/djmvc_bulma/templates/djmvc/home.html
src/djmvc_bulma/templates/djmvc/list.html
src/djmvc_dal/__init__.py
src/djmvc_dal/apps.py
src/djmvc_dal/hooks.py
src/djmvc_dal/lookup.py
src/djmvc_dal/models.py
src/djmvc_dal/views.py
src/djmvc_dal_topbar/__init__.py
src/djmvc_dal_topbar/apps.py
src/djmvc_dal_topbar/djmvc.py
src/djmvc_dal_topbar/lookup.py
src/djmvc_dal_topbar/views.py
src/djmvc_dal_topbar/static/djmvc_dal_topbar/css/site-search.css
src/djmvc_dal_topbar/static/djmvc_dal_topbar/js/site-search.js
src/djmvc_dal_topbar/templates/djmvc/_site_search.html
src/djmvc_debug/__init__.py
src/djmvc_debug/apps.py
src/djmvc_debug/djmvc.py
src/djmvc_debug/models.py
src/djmvc_debug/routing_debug.py
src/djmvc_debug/views.py
src/djmvc_example/__init__.py
src/djmvc_example/asgi.py
src/djmvc_example/example_urls.py
src/djmvc_example/models.py
src/djmvc_example/settings.py
src/djmvc_example/urls.py
src/djmvc_example/wsgi.py
src/djmvc_example/migrations/0001_initial.py
src/djmvc_example/migrations/0002_test_users.py
src/djmvc_example/migrations/__init__.py
src/djmvc_example/stage0/__init__.py
src/djmvc_example/stage0/admin.py
src/djmvc_example/stage0/apps.py
src/djmvc_example/stage0/djmvc.py
src/djmvc_example/stage0/models.py
src/djmvc_example/stage0/tests.py
src/djmvc_example/stage0/migrations/0001_initial.py
src/djmvc_example/stage0/migrations/__init__.py
src/djmvc_example/stage1/__init__.py
src/djmvc_example/stage1/admin.py
src/djmvc_example/stage1/apps.py
src/djmvc_example/stage1/djmvc.py
src/djmvc_example/stage1/models.py
src/djmvc_example/stage1/tests.py
src/djmvc_example/stage1/migrations/__init__.py
src/djmvc_example/stage2/__init__.py
src/djmvc_example/stage2/admin.py
src/djmvc_example/stage2/apps.py
src/djmvc_example/stage2/djmvc.py
src/djmvc_example/stage2/models.py
src/djmvc_example/stage2/tests.py
src/djmvc_example/stage2/migrations/0001_initial.py
src/djmvc_example/stage2/migrations/__init__.py
src/djmvc_example/stage3/__init__.py
src/djmvc_example/stage3/admin.py
src/djmvc_example/stage3/apps.py
src/djmvc_example/stage3/djmvc.py
src/djmvc_example/stage3/models.py
src/djmvc_example/stage3/tests.py
src/djmvc_example/stage3/migrations/0001_initial.py
src/djmvc_example/stage3/migrations/__init__.py
src/djmvc_example/stage4/__init__.py
src/djmvc_example/stage4/admin.py
src/djmvc_example/stage4/apps.py
src/djmvc_example/stage4/djmvc.py
src/djmvc_example/stage4/models.py
src/djmvc_example/stage4/tests.py
src/djmvc_example/stage4/migrations/0001_initial.py
src/djmvc_example/stage4/migrations/__init__.py
src/djmvc_history/__init__.py
src/djmvc_history/apps.py
src/djmvc_history/djmvc.py
src/djmvc_history/log.py
src/djmvc_history/models.py
src/djmvc_history/views.py
tests/alight_helpers.py
tests/conftest.py
tests/dal_screenshots.py
tests/doc_screenshots.py
tests/test_api.py
tests/test_auth.py
tests/test_breadcrumbs.py
tests/test_controller.py
tests/test_djmvc_dal.py
tests/test_djmvc_dal_splinter.py
tests/test_djmvc_dal_topbar.py
tests/test_djmvc_dal_topbar_splinter.py
tests/test_djmvc_tags.py
tests/test_docs_screenshots.py
tests/test_errors.py
tests/test_eval.py
tests/test_filter.py
tests/test_form_focus.py
tests/test_hamburger.py
tests/test_i18n.py
tests/test_list_action.py
tests/test_list_combinations.py
tests/test_logentry.py
tests/test_messages.py
tests/test_messages_browser.py
tests/test_nav_active.py
tests/test_pagination.py
tests/test_permissions.py
tests/test_queryset.py
tests/test_registry.py
tests/test_routing.py
tests/test_routing_debug.py
tests/test_stage0.py
tests/test_stage1.py
tests/test_stage2.py
tests/test_stage3.py
tests/test_stage4.py
tests/test_tokens.py
tests/test_tutorial_docs.py
tests/test_view.py
tests/topbar_screenshots.py
tests/screenshots/dal/user-list-filter-groups-filtered.png
tests/screenshots/dal/user-list-filter-groups-initial.png
tests/screenshots/dal/user-list-filter-groups-selected.png
tests/screenshots/dal/user-update-groups-initial.png
tests/screenshots/dal/user-update-groups-selected.png
tests/screenshots/topbar/site-search-detail.png
tests/screenshots/topbar/site-search-initial.png
tests/screenshots/topbar/site-search-results.png
tests/views/test_template.py