获取意外的关键字参数“user”

2024-10-04 11:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么我的代码不能正常工作。在

这是模型:

class Usuario(models.Model):
    user = models.OneToOneField(User,default=None)
    nombre = models.CharField(max_length=100)
    correo = models.CharField(max_length=300)
    tel = models.CharField(max_length=100)
    cp = models.CharField(max_length=100)
    def __unicode__(self):
        return self.nombre

以下是视图:

^{pr2}$

表格:

<form  action="/RegistrosUsuarios/" method="post" enctype="multipart/form-data" autocomplete="off">
                {% csrf_token %}
                <div class="modal-body">         
                    <div class="md-form">
                        <input maxlength="500" name="nombre" type="text" placeholder="Nombre" required="required" style="width: 25%;">
                        <label for="nombre" style="color: #000!important;display: none;" class="active"></label>
                    </div> 
                    <div class="md-form">
                        <input type="email" name="correo" id="correo" required="required" placeholder="Correo" style="width: 25%;">
                        <label for="correo" style="color: #000!important;display: none;" class="active">Email</label>
                    </div>
                    <div class="md-form">
                        <input type="password" name="contrasena" id="contrasena" required="required" placeholder="Contraseña" style="width: 25%;">
                        <label for="contrasena" style="color: #000!important;display: none;" class="active">Contraseña</label>
                    </div>
                    <div class="input-field" style="border-top:0px ;align:center;" align="center">
                        <button type="submit" name="action" class="btn waves-effect waves-light" style="border: 2px solid #000;color: #000!important; width: 15%;background-color:transparent!important;font-family: Geomanist-Regular;letter-spacing: 0px;font-size: 1.1rem; ">REGISTRARSE</button>
                    </div>
                </div>  
            </form>

网址:

urlpatterns = [
    url(r'^$', views.Index),
    ...
    url(r'^RegistrosUsuarios/$', views.RegistrosUsuarios),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

但是,当我试图从Usario模型创建一个对象时:

TypeError at /RegistrosUsuarios/
Usuario() got an unexpected keyword argument 'user'
Request Method: POST
Request URL:    http://127.0.0.1:8000/RegistrosUsuarios/
Django Version: 1.11
Exception Type: TypeError
Exception Value:    
Usuario() got an unexpected keyword argument 'user'

Tags: divformstylemodelsrequiredlengthlabelmax
1条回答
网友
1楼 · 发布于 2024-10-04 11:28:04

看起来您有一个名为Usuario的方法,它与Usuario模型类一起导入。在

您还可以使用默认管理器的.create()方法来创建对象,而不是手动实例化和保存它们:

Usuario.objects.create(user=..., ...)

这样您就不需要调用.save()方法,因为它将自动保存。在

作为补充说明,建议遵循PEP 8命名约定,在lowercase_letters中命名您的方法,并为您的类使用CamelCase。这将减少此类错误的数量。在

相关问题 更多 >