A simple application with some classes and scripts for wizard implementation.
Project description
A simple application with some classes and scripts for wizard implementation.
Detailed documentation is in the “docs” directory.
Quick start
Add wizard app to project app list in project settings:
INSTALLED_APPS = [ ... 'simple_wizard' ]
Add wizard modal to base template:
{% include 'simple_wizard/wizard_modal.html' %}
Construct management view with steps like this:
class WizardManagementView(WizardBaseView): """ View for creating wizard with 3 steps """ management_url_pattern = 'test_app:wizard_management' common_title = 'Common Title' # for steps without own title class FirstStep(WizardModalStepMixin, TemplateView): """ First step - simple modal with text message and continue button. """ unique_name = 'message_step' template_name = 'simple_wizard/wizard_modal_message.html' message = 'Simple message step' cache_step = False # step doesn't ask server on repeat show (if it already fetched) buttons = [ LoadWizardStepButton( load_step='form_step', # next step (get request) title='Continue', css_classes=['btn btn-primary'] ) ] class SecondStep(WizardModalStepWithFormMixin, FormView): """ Second step - modal with form (can be form or model form), validation supported. """ unique_name = 'form_step' template_name = 'simple_wizard/wizard_modal_form.html' form_class = SecondStepForm redirect_to_step_if_valid = 'third_step' buttons = [ LoadWizardStepPostButton( load_step='form_step', title='Continue', css_classes=['btn btn-primary'] ) ] def form_valid(self, form): test_model = TestModel.objects.filter(pk=self.kwargs.ger('pk')).first() test_model.field_1 = form.cleaned_data.get('field_1') test_model.save() return super().form_valid(self, form): class ThirdStep(WizardModalStepWithFormMixin, TemplateView): """ Third step - just a template modal """ unique_name = 'third_step' template_name = 'third_step.html' buttons = [ CloseWizardModalButton( title='Finish', css_classes=['btn btn-primary'] ) ]
Setups urls:
app_name = 'test_app' ... urlpatterns = [ ... path('wizard-management/<step_to_load>/<int:pk>/', WizardManagementView.as_view(), name='wizard_management') ]
Add static files for wizard work:
<script src="{% static 'simple_wizard/wizard.js' %}"></script>
Initialize wizard handler:
$(document).ready(function () { const django_modal_wizard = new DjangoModalWizard( '#wizard-modal', '.js-wizard_modal_content', '.js-load_wizard', '.js-close_wizard' ); django_modal_wizard.initSignals(); });
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
btc-simple-wizard-0.4.tar.gz
(8.5 kB
view details)
File details
Details for the file btc-simple-wizard-0.4.tar.gz
.
File metadata
- Download URL: btc-simple-wizard-0.4.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c972fa05fdf9b64132f75c004da2dac4806bc77b9dc4d82f0af25670ff57474e |
|
MD5 | ee4070026579b8fff481a8bb2181e4a4 |
|
BLAKE2b-256 | a869372429fe377d2db9c27c5ecc07982f1462afd1ded7361ee670ec83c009fc |