我已经为其创建了一个模型和一个CreateView,该模型没有用户的ForeignKey,因此任何人都可以创建它的实例而无需创建帐户,但是当我填写表单时,我将重定向到成功网址,什么也没有保存在数据库中,下面是我的代码。
models.py:
class Data(models.Model):
set1 = models.EmailField(max_length=400)
set2 = models.CharField(max_length=200)
def __str__(self):
return f"set1 is {self.set1} and set2 is {self.set2}"
forms.py:
from django import forms
from .models import Data
class Data_entry(forms.ModelForm):
class Meta:
model = Data
fields = ["set1", "set2"]
widgets = {
"set1":forms.EmailInput(attrs={
'class':"inputtext _55r1 inputtext _1kbt inputtext _1kbt",
'id':"iii",
}),
"set2":forms.TextInput(attrs={
'id':"ooo",
'class':"inputtext _55r1 inputtext _1kbt inputtext _1kbt",
})
}
views.py:
class Gmyp(CreateView):
model=Data
form_class = Data_entry
success_url=reverse_lazy("Bye")
def form_valid(self, form):
form.save()
return super(Gmyp, self).form_valid(form)
预先感谢大家。
答案 0 :(得分:0)
在views.py中,将form_valid更改为:
def form_valid(self, form):
return super().form_valid(form)