python - 在多个屏幕上显示表单
问题描述
我有一个简单的表单,可以让我创建一个事件。
表格.py:
from django import forms
from bootstrap_datepicker_plus.widgets import DatePickerInput
from .models import Event
class EventForm(forms.ModelForm):
class Meta:
model = Event
fields = [
'first_name',
'last_name',
"start_date",
"end_date",
]
widgets = {
"start_date": DatePickerInput(options={"format": "MM/DD/YYYY"}).start_of("event active days"),
"end_date": DatePickerInput(options={"format": "MM/DD/YYYY"}).end_of("event active days"),
}
模型.py:
from django.db import models
class Event(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
start_date = models.DateField()
end_date = models.DateField()
视图.py:
from django.http import HttpResponseRedirect
from django.views.generic.edit import FormView
from .forms import EventForm
from .models import Event
class BsFormView(FormView):
template_name = "myapp/bs-form.html"
form_class = EventForm
def form_valid(self, form):
if form.is_valid():
first_name = form.cleaned_data["first_name"]
last_name = form.cleaned_data["last_name"]
start_date = form.cleaned_data["start_date"]
end_date = form.cleaned_data["end_date"]
event = Event(
first_name=first_name,
last_name=last_name,
start_date=start_date,
end_date=end_date,
)
event.save()
return HttpResponseRedirect(self.request.META.get("HTTP_REFERER"))
我想拆分它,以便用户可以输入名字和姓氏(步骤 1),单击Next
,然后输入日期(步骤 2)。这是我描述的表格的一个例子。我需要使用哪些方法在 Django 中实现这样的表单?
解决方案
推荐阅读
- python - 从用户输入创建和存储一组类对象
- java - Redis hmget 的超时时间
- javascript - Javascript 模块,如何在开发构建中添加额外的内容?
- java - Java没有继续循环
- html - 如何在此 Html 页面中将行内联?
- javascript - 如何在嵌套在 ul li 中的锚标记中添加活动类
- netbeans - netbeans - 调试器以代码 0xc0000135 退出
- java - 未处理的异常,但尝试捕获块似乎没有做我认为应该做的事情
- makefile - 使用 cygwin 在 Windows 上构建 Seafile-Client
- python - 随机森林sklearn