Django-如何从其他两个字段自动填充表单字段

Django-如何从其他两个字段自动填充表单字段,django,forms,auto-populate,Django,Forms,Auto Populate,这是我要找的。在我的表格中,我有三个字段,都是CharFields。这些是姓名、姓氏和用户名。用户名应设置为姓名和姓氏的总和,因此对于Name=Joe,姓氏=Black,用户名=joeback 显示表单时,所有字段均为空。我希望它在我向姓名或姓氏写入数据时自动填充用户名。原因是我不必填写用户名字段,但如果我愿意,我可以将其设置为不同于名称+姓氏 是否可以不使用jQuery?如果是这样的话,这方面有什么好的教程吗?javascript <script type="text/javascrip

这是我要找的。在我的表格中,我有三个字段,都是CharFields。这些是姓名、姓氏和用户名。用户名应设置为姓名和姓氏的总和,因此对于Name=Joe,姓氏=Black,用户名=joeback

显示表单时,所有字段均为空。我希望它在我向姓名或姓氏写入数据时自动填充用户名。原因是我不必填写用户名字段,但如果我愿意,我可以将其设置为不同于名称+姓氏

是否可以不使用jQuery?如果是这样的话,这方面有什么好的教程吗?

javascript

<script type="text/javascript" charset="utf-8">

    function updateUsername(){
        first = document.getElementById("first").value;
        last = document.getElementById("last").value;
        document.getElementById("username").value = first+" "+last;
    }

</script>

当您使用save()方法时,它将获取它的第一个和最后一个属性,并更新用户名值并保存它。

如果您想在客户端执行此操作,您应该使用JavaScript,无论是否使用jQuery。这就是我要尝试的。我记得在一些教程中,我看到大约一年前,有一种自动填充SlugField的方法,但不知怎么的,我现在找不到它。实际上,我搜索了一个纯django解决方案,没有js。但是这个很简单,我可以清楚地给出+1。如果没有更好的答案(不使用js),我会接受这个答案。另一种最接近的方法是django方法,保存模型,然后根据名字和姓氏自动生成用户名。但这不会给你一种“现场打字”的感觉。我想,这就是这个话题的全部内容。谢谢。请注意,当重写
save
方法时,应该像这样传递参数:
save(self,*args,**kwargs)
super(MODEL_NAME,self)。save(*args,**kwargs)
<input type="text" name="some_name" value="" id="first" onkeyup="updateUsername();">
<input type="text" name="some_name" value="" id="last" onkeyup="updateUsername();">
<input type="text" name="some_name" value="" id="username">
def save(self):
    if not self.id:
        self.username = self.first + self.last
    super(MODLE_NAME, self).save()