我想知道为什么我的代码不能正常工作。在
这是模型:
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'
看起来您有一个名为
Usuario
的方法,它与Usuario
模型类一起导入。在您还可以使用默认管理器的
.create()
方法来创建对象,而不是手动实例化和保存它们:这样您就不需要调用
.save()
方法,因为它将自动保存。在作为补充说明,建议遵循PEP 8命名约定,在
lowercase_letters
中命名您的方法,并为您的类使用CamelCase
。这将减少此类错误的数量。在相关问题 更多 >
编程相关推荐