Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python __init__()得到一个意外的关键字参数';密码';德扬戈_Python_Ajax_Django - Fatal编程技术网

Python __init__()得到一个意外的关键字参数';密码';德扬戈

Python __init__()得到一个意外的关键字参数';密码';德扬戈,python,ajax,django,Python,Ajax,Django,我在程序中使用ajax调用。我遇到了如下错误: TypeError: __init__() got an unexpected keyword argument 'password' 我有以下型号: class Student(models.Model): name = models.CharField(max_length = 20 ) password = models.CharField(max_length = 100 ) email = models.Char

我在程序中使用ajax调用。我遇到了如下错误:

TypeError: __init__() got an unexpected keyword argument 'password'
我有以下型号:

class Student(models.Model):
    name = models.CharField(max_length = 20 )
    password = models.CharField(max_length = 100 )
    email = models.CharField( max_length = 10 )


class StudentForm(forms.ModelForm):
    class Meta:
        model = Student
        fields = '__all__
现在,以下是我的模板:

`<form id = "post_submit" action="{% url "apply" %}" method="POST">
        {% csrf_token %}
        {% for field in form %}
            <p>{{field.label}} : {{field}}</p>
        {% endfor %}

        <p><input type="submit" name="Submit"></p>
    </form>
    <p id="click_option">Click here.</p>
后端中的视图为:
def应用(请求):


您不必手动从POST数据中提取值,表单会为您处理这些

检查表单是否有效后,可以调用
save()
保存模型实例

form = StudentForm(request.POST)
if form.is_valid()
    student = form.save()

最后,您的
学生
模型将
密码
存储在
字符域
中。以纯文本形式存储密码是不安全的。为您处理哈希密码。使用它。

您不必手动从POST数据中提取值,表单会为您处理这些

检查表单是否有效后,可以调用
save()
保存模型实例

form = StudentForm(request.POST)
if form.is_valid()
    student = form.save()

最后,您的
学生
模型将
密码
存储在
字符域
中。以纯文本形式存储密码是不安全的。为您处理哈希密码。使用它。

您正在调用未定义的StudentForm构造函数。正确的方法是创建对象,然后分配值。OK,我遇到了问题。但是为什么只有
密码
才有类型错误呢?为什么不为所有值显示?
TypeError
一次只显示一个字段名。如果将其更改为
student=StudentForm(name=name,email=email)
,则其他字段之一也会出现相同的错误。您正在调用未定义的StudentForm构造函数。正确的方法是创建对象,然后分配值。OK,我遇到了问题。但是为什么只有
密码
才有类型错误呢?为什么不为所有值显示?
TypeError
一次只显示一个字段名。如果您将其更改为
student=StudentForm(name=name,email=email)
,则其他字段之一也会出现相同的错误。投票赞成关于django认证系统的建议。非常感谢。我投票赞成关于django认证系统的建议。非常感谢你。
form = StudentForm(request.POST)
if form.is_valid()
    student = form.save()