为了账号安全,请及时绑定邮箱和手机立即绑定

Django 表单已发送但未保存到数据库

Django 表单已发送但未保存到数据库

倚天杖 2023-08-18 16:12:30
我正在做一个简单的用户业务应用程序,其中用户拥有一项或多项业务。问题是我创建的业务表单没有将其数据保存到数据库中。该用户拥有所有权限并且处于活动状态,我可以毫无问题地保存创建用户表单中的数据。怎么了? 查看.py: class crear_negocio(LoginRequiredMixin, FormView):    template_name = "tienda/crear_negocio.html"    form_class= Negocio_Form    success_url = reverse_lazy('tienda_app:crear_negocio')    login_url = reverse_lazy('register_app:logIn')form.py:class Negocio_Form(forms.ModelForm):    class Meta:        model = Negocio_Model        fields = ("Nombre_Negocio","Administrador","Descipcion_Negocio",'Correo_Negocio','Telefono_Negocio','Direccion_Negocio')Model.py:class Negocio_Model(models.Model):    Nombre_Negocio = models.CharField(max_length=25)    Administrador = models.ForeignKey(Usuario_Model, on_delete=models.CASCADE)    Descipcion_Negocio = models.TextField(null=True, blank=True)    Correo_Negocio = models.EmailField()    Telefono_Negocio = models.CharField(max_length=13)    Direccion_Negocio = models.CharField(max_length=25)    def __str__(self):        return self.Nombre_Negocio+' '+self.Correo_Negocio+' '+self.Telefono_Negocio+' '+self.Direccion_Negocio数据库配置:DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'bdtg1',        'USER':'juan',        'PASSWORD':'juanjo123',        'HOST':'127.0.0.1',        'PORT':'3306'    }}
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

AFormView没有.save()表单,因此它确实不会在数据库中创建记录。默认情况下,如果表单成功,它会重定向到成功 URL,仅此而已。例如,a 的典型用例FormView是发送电子邮件而不是将其保存到数据库。

您可以重写form_valid(…)方法 [Django-doc]来保存表单,但最好使用CreateView[Django-doc]:

from django.views.generic.edit import CreateView


class crear_negocio(LoginRequiredMixin, CreateView):

    template_name = 'tienda/crear_negocio.html'

    form_class= Negocio_Form

    success_url = reverse_lazy('tienda_app:crear_negocio')

    login_url = reverse_lazy('register_app:logIn')


查看完整回答
反对 回复 2023-08-18
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信