Package: django-app-helper
WarningStarting from 3.3 django-app-helper only supports Django 3.2+ and django CMS 3.11. If you need support for older (unsupported) versions, use django-app-helper<3.3Starting from 3 django-app-helper only supports Django 2.2+ and django CMS 3.7+. If you need support for older (unsupported) versions, use django-app-helper 2.Helper for django applications developmentdjango-app-helper is a set of commands and helper methods
to make developing and testing reusable Django applications easier.Being born in the django CMS ecosystem, it provides a lot of utility
functions to develop, run and test django CMS applications.It’s a modified version of django CMS’s owndevelop.pyscript, modified
to handle generic application development process.It supports both tests writted using DjangoTestCaseand pytest ones
(seepytest support).Supported versionsPython: 3.8, 3.9, 3.10, 3.11, 3.12Django: 3.2, 4.0, 4.1, 4.2, 5.0django CMS: 3.11Newer versions might work but are not tested yet.Common options--cms: Loads configuration to properly run a django CMS-based application;--extra-settings: Path to a helper file to set extra settings; seeProject settings with Django App Helperfor details;UsageThe commandmustbe executed in the main plugin directory (i.e. in the same
directory as thesetup.pyfile) as it needs to import files relative to the
current directory.The basic command structure is:django-app-helper <application> <command> [options ...]where<application>is the django application name and<command>is one
of the available commands. Options vary for each command.Base test classA base test class is available to provide helpers and methods that
implements repetitive tasks during development or compatibility shims
(especially for django CMS).BootstrappingTo bootstrap a project usingdjango-app-helperyou may want to have a look atcookiecutter-djangopackage-helper, acookiecuttertemplate fordjango-app-helper.To use it followsusageRunnerBy using the integrated runned in the settings file you’ll be able to run
the commands without invokingdjango-app-helper: seeIntegrated runnerfor reference.ASGI / ChannelsASGI / Channels are supported by installing the project withdjango-app-helper[async].With Daphne / Channels installed you can rundjango-app-helperserver--use-daphne|--use-channelsto run the
project on ASGI.SeeASGI / Channels supportPure ASGI support is available only for Django 3.0+.InstallationInstalling from pip:pip install django-app-helperInstalling from source:pip install git+https://github.com/nephila/django-app-helper#egg=django-app-helperRequirementsdjango CMS optional; required only to work with--cmsoptiondocopttoxdj-database-urlDocumentationDocumentation is available onreadthedocs.Authorsdjango-app-helperwas written byIacopo Spallettiwith help from
other contributors.ThanksThe general logic and part of the code of the whole application is heavily taken fromdjango CMS’sowndevelop.pyso all the contributors
deserve a huge thanks for their work.History3.3.4 (2024-01-28)FeaturesAdd DjangoCMS 3.11 to Django 5.0 test matrix (#252)BugfixesFix support for DEFAULT_FILE_STORAGE/STATICFILES_STORAGE in django 4.2 (#255)3.3.3 (2023-11-28)FeaturesPrepare for Django 5.0 / Python 3.12 compatibility (#244)Switch to Coveralls Github action (#248)3.3.2 (2023-09-26)FeaturesMigrate to bump-my-version (#237)BugfixesFix ruff linting (#232)3.3.1 (2023-07-09)BugfixesFix runner-options argument on Django test runner (#220)Do not add mptt with django-filer 3+ (#225)3.3.0 (2023-05-07)FeaturesAdd support for Django 4.x (#208)3.2.0 (2023-01-19)FeaturesAdd djangocms 3.11 to tox, fix tests accordingly (#311)3.1.0 (2022-07-29)FeaturesUpgrade Python / Django versions (#204)Add minimal django 4.0 support (#208)3.0.1 (2020-12-09)BugfixesFix loading setting with pytest-django and django 3.1 (#202)3.0.0 (2020-11-14)FeaturesAdd support for Django 3.1 / django CMS 3.8 (#196)Add Django 3.0 / django CMS 3.7.2 support (#142)Drop Python 2 / Django 1.11 (#148)Add support for Daphne / channels runserver (#198)Refactor BaseTestCaseMixin to more composable mixins (#107)Replace makefile with invoke (#143)Use pre-commit for code formatting (#149)Allow to pass arguments to pytest via runner-options argument (#159)Add support to pytest command (#167)Update dotfiles to latest version (#189)Reorganize tests outside main package (#191)Remove support for aldryn-boilerplates (#199)BugfixesFix runner_options support (#92)Improve GA - Update contribution guide (#161)Allow extra arguments in PytestTestRunner.run_tests (#165)Update isort and linting configuration (#188)Misc#152, #1852.2.2 (2020-05-15)BugfixesFix pytest args splitting (#155)Fix runserver autoreload with channels 2.4 (#157)2.2.1 (2020-04-23)Fix packaging error2.2.0 (2020-04-23)FeaturesAdd Django 3.0 / django CMS 3.7.2 support (#142)Replace makefile with invoke (#143)2.1.1 (2020-02-04)Improved pytest compatibility2.1.0 (2019-12-27)Reformat code with black and improve flake8 configurationAdd pytest-compatible runner2.0.1 (2019-12-22)Add Django 3.0 preliminary support2.0.0 (2019-10-13)Rename application to django-app-helper1.2.5 (2019-08-16)Add django CMS 3.7Add Django 2.21.2.4 (2019-08-08)Fix regression introduced by #1161.2.3 (2019-08-05)Move pyflakes to extras_requireFix error in get_request / post_request not preserving current_page1.2.2 (2019-07-05)Improve request generation by adding a more generic request method1.2.1 (2019-07-04)Fix error when creating users with non-writable email attribute1.2.0 (2019-03-22)Drop compatiblity with Django <1.11, Python 3.4Add django CMS 3.6Add django 2.0, 2.11.1.1 (2019-07-03)Fix error when creating users with non-writable email attribute1.1.0 (2018-02-20)Remove Django <1.8, Python 2.6, 3.3 from setup.pyAdd Django 1.11, Python 3.6Switch to new-style middlewares for Django 1.10+Create static methods to generate imagesFix persistent option behavior with arbitrary commandsAdd minimal changes to allow third party application to run test on django 2.0Fix options for channels runserverRemove support for django-nose test runner1.0.0 (2017-07-25)Add ApphookReloadMiddleware in server modeAdd a default for FILE_UPLOAD_TEMP_DIRAdd fix for django CMS 3.4.4 render_plugin0.9.8 (2017-03-04)Fix compatibility with newer channels releases0.9.7 (2016-12-03)Add support for django-sekizai 0.10Fix mock dependency in setup.pyFix issue with server command in Django 1.10Fix issue with urls.py in Django 1.10Fix issue in tests with django CMS 3.40.9.6 (2016-08-25)Add support for channels runserver.Add verbosity level to server command.Add support for Django 1.10.Add support for django CMS 3.4.0.9.5 (2016-06-06)Fix issue with mocked session storageAdd verbosity level to testsFix user creationAdd option to allow parametrizing auto-created userFix extra_applications0.9.4 (2016-01-20)Add Naked setup modeAdd TEMPLATE_DIRS to special settingsAdd TEMPLATE_LOADERS to special settingsAllow to specify a locale in makemessages0.9.3 (2015-10-07)Add –no-migrate option to skip migrationsAdd secure argument to generate HTTPS requestsBetter request mockingFix test on django CMS 3.2 (develop)Add support for Python 3.5Add –persistent option for persistent storage0.9.2 (2015-09-14)Add support for apphooks and parent pages in BaseTestCase.create_pagesIf pages contains apphook, urlconf is reloaded automaticallyImprove documentationAdd support for top-positioned MIDDLEWARE_CLASSESCode cleanup0.9.1 (2015-08-30)Better support for aldryn-boilerplates0.9.0 (2015-08-20)Complete support for Django 1.8 / django CMS developSupport for aldryn-boilerplates settingsMigrations are now enabled by default during testsMinor BaseTestCase refactoringRemove support for Django 1.5Fix treebeard supportMinor fixesAdds login_user_context method to BaseTestCase0.8.1 (2015-05-31)Add basic support for Django 1.8 / django CMS developCode cleanupsSmarter migration layout detection0.8.0 (2015-03-22)Add –native option to use native test command instead of django-app-helper oneUse django-discover-runner on Django 1.5 if presentBetter handling of runner optionsAdd support for empty/dry-run arguments to makemigrationsAdd USE_CMS flag to settings when using django CMS configuration0.7.0 (2015-01-22)Fix an error which prevents the runner to discover the settingsdjango CMS is no more a dependency, install it manually to enable django CMS support0.6.0 (2015-01-10)Add a runner to make cms_helper file itself a runner for django-app-helperFix issues with mptt / treebeard and Django 1.7Fix some makemigrations / –migrate issuesMake django-app-helper less django CMS dependent0.5.0 (2015-01-01)Fixing bugs when using extra settingsAdd messages framework to default environmentAdd CSRF middleware / context_processor to default settingsAdd base helper class for test casesComplete Django 1.7 supportSmarter detection of migration operations in Django 1.6-Add option to create migrations for external applications0.4.0 (2014-09-18)Add support for command line test runner options;Add check command on Django 1.7+;Add cms check command (which triggers cms inclusion);Add squashmigration command Django 1.7+;Add support for makemigrations merge on Django 1.7+;Add helpers for custom user models;0.3.1 (2014-08-25)Add staticfiles application;Add djangocms_admin_style if cms is enabled;0.3.0 (2014-08-14)Add support for django nose test runner;Add default CMS template;0.2.0 (2014-08-12)Add option to customize sample project settings;Add option to exclude django CMS from test project configurations;Add support for Django 1.7;0.1.0 (2014-08-09)First public release.