在表单中打印模型的值并编辑它们 Django

Print the values of a model in a form and edit them Django

一两周前开始学习 Django python,所以请记住这一点。

我想要的是数据以表格形式显示,并以相同的形式进行编辑,例如:

enter image description here

上面写着: 名 姓 电子邮件

我希望它能从数据库中提取数据并将其写入表格中。

名字凯文 姓 克拉克 电子邮件 Kevin.clark@gmail.com

每个条目依此类推。 就像它在下面写下的那样,它说你创造了这些。 所以一个编辑表单,其中为每组条目写出值。

我希望我已经设法提出了一个明确的问题,据我所知我不相信它是重复的,如果是,我很抱歉。

OS:软呢帽 IDE:Eclipse 姜戈 Python

views.py

def edit(request):
    instance = New.objects.all()
    data = { "firstName" : "Clark",
                  "lastName": "Kevin"}
    form = NewForm(request.POST) #instance=instance)
    print form.instance.firstName

    if(form.is_valid()):
        instance = form.save(commit=False)
        instance.save()

    context = {
               "object_list" : instance,
               "formset" : form,
               "instance" : instance
    }

    return render(request, "secondTry/new.html", context)

models.py

class New(models.Model):
firstName = models.CharField(max_length=50, null=True)
lastName = models.CharField(max_length=50, null=True)
email = models.EmailField()
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)

forms.py

class NewForm(ModelForm):
class Meta:
    model = New
    fields = [
              "firstName", 
              "lastName", 
              "email"
              ]

html

<!DOCTYPE html>
<html>
    <head>

    </head>

    <body>
        <h1>Create a New One</h1>
            <form method='post' action=""> {% csrf_token %}
                <table>
                    {{ formset }}
                </table>
                <input type='submit' value="Submit">
            </form>

            {{ instance }} {% csrf_token %}

            <h2>You Created These</h2>
            {% for obj in object_list %}
                    {{ obj.firstName }} 
                    {{ obj.lastName }} 
                    {{ obj.email }} <br/><br/>
                {% endfor %}






    </body>
</html>

请注意,我并没有使用 def edit 中的所有变量,因为我来回尝试解决这个问题,所以它可能有点混乱。

非常感谢大家的宝贵时间。

如果我没有正确理解你的问题,你只是想让初始值显示在表单中?在这种情况下,您正在寻找 https://docs.djangoproject.com/en/1.9/ref/forms/api/#dynamic-initial-values

当您创建 Form 的实例时,执行类似 name_form = Form(request.POST, initial=db_instance) 的操作 假设您的编辑视图已经以某种方式从数据库加载实例。