TypeError:此构造函数在django中不带任何参数

时间:2015-03-26 11:10:46

标签: python django

我将模板中的用户名和密码传递给我的views.py并尝试将其保存在我的数据库中,但是它给出了错误 - 这个构造函数没有参数

我的views.py -

def home(request):
    if request.method == 'POST':
        post = request.POST
        if 'submit' in post:
            u = user(username = post['username'], password = post['password'])
            u.save()
    return render(request, 'XO/home_page.html')

my models.py -

class user:
    username = models.CharField(max_length = 30)
    password = models.CharField(max_length = 30)

def __str__(self):
    return self.username

我的模板 -

<html>
    <body>
        <form id="form" method="post">
            {% csrf_token %}
            Username: <input type="text" name="username"/>
            Password: <input type="text" name="password"/>
            <button type="submit" name="submit">
                Submit
            </button>
        </form>
    </body>
</html>

知道我为什么会收到这个错误.. ??

提前致谢。

1 个答案:

答案 0 :(得分:4)

您应该从models.Model类继承模型:

class user(models.Model):
    ...

另请注意,您有缩进问题:__str__()方法在user类内部应该是一个级别。