gpt4 book ai didi

django - 如何通过 django-crispy-forms 中的取消按钮重定向到 url?

转载 作者:行者123 更新时间:2023-12-03 16:10:44 24 4
gpt4 key购买 nike

class StudentCreateView(CreateView):
model = Student
template_name = "students/students_edit.html"
form_class = StudentCreateForm

def get_success_url(self):
return u'%s?status_message=Студент успішно створений' % reverse('home')

def post(self, request, *arg, **kwargs):
if request.POST.get('cancel_button'):
messages.info(self.request, u"Створення скасовано")
return HttpResponseRedirect(
u'%s?status_message=Створення скасовано'
% reverse('home'))
else:
messages.success(self.request, u"Студент успішно створений")
return super(StudentCreateView, self).post(
request,*arg, **kwargs)
def get_context_data(self, **kwargs):
context = super(StudentCreateView, self).get_context_data(**kwargs)
context['meta'] = u'Додавання студента'
context['headtext'] = context['meta']
return context

在此 View 中,如果单击取消按钮,我会检查发布功能
self.helper.layout[-1] = FormActions(
Submit('add_button',u'Зберегти', css_class='btn btn-primary'),
Submit('cancel_button', u'Скасувати'),
)

只有在 createview 提交取消不能正常工作。单击它会尝试检查表单,当我想取消时,它会回答我以解决表单上的所有问题。我已将提交更改为按钮,按钮取消根本不起作用。我在 stackoverflow 上发现了一个变体,向按钮添加了 onclick 方法,但它不适合我(
当我在重定向的窗口信息消息上取消或发布表单时,会告诉我发布或取消的状态。因此,当我尝试 onclick 方法时,它会推送过去的页面,因此未显示信息消息。
如何修复 CreateView 上的取消?

最佳答案

添加 Cancel按钮并使用 window.location.hrefonclick事件:

self.helper.add_input(Button('cancel', 'Cancel', css_class='btn-primary',
onclick="window.location.href = '{}';".format(reverse('your-cancel-url-name'))))

关于django - 如何通过 django-crispy-forms 中的取消按钮重定向到 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33680908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com