一个简单的应用程序,包含一些用于向导实现的类和脚本。
btc-simple-wizard的Python项目详细描述
一个简单的应用程序,包含一些用于向导实现的类和脚本。在
详细文档在“docs”目录中。在
快速入门
将向导应用程序添加到项目设置中的项目应用程序列表:
INSTALLED_APPS = [ ... 'simple_wizard' ]
在将向导模式添加到基本模板:
^{pr2}$ 在使用如下步骤构建管理视图:
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'] ) ]
在{tt1}设置
app_name = 'test_app' ... urlpatterns = [ ... path('wizard-management/<step_to_load>/<int:pk>/', WizardManagementView.as_view(), name='wizard_management') ]
在为向导工作添加静态文件:
<script src="{% static 'simple_wizard/wizard.js' %}"></script>
在初始化向导处理程序:
$(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(); });
在
- 项目
标签: