当前位置:  开发笔记 > 编程语言 > 正文

如何使用Django ModelForm将数据提交到数据库?

如何解决《如何使用DjangoModelForm将数据提交到数据库?》经验,为你挑选了1个好方法。

我正在学习一些Django,现在我在使用Forms时遇到了困难.我想要做的是创建一个表单,让人们在页面上留下消息,这些消息将显示在同一页面中(就像博客评论系统一样).我按照文档创建了一个类和ModelForm

class Recado(models.Model):
    recado = models.TextField()
    data = models.DateTimeField(auto_now_add=True)
    nome = models.CharField(max_length=100)
    email = models.EmailField(max_length=100)

    def __unicode__(self):
        return self.recado

class RecadoForm(ModelForm):
    class Meta:
        model = Recado
        exclude = ('data',)

那么这是我的看法:

def index(request):
    RecadoForm = modelform_factory(Recado, exclude=('data'))
    form = RecadoForm()
    lista_recados = Recado.objects.order_by('-data')
    template = loader.get_template('recados/index.html')
    context = Context({'lista_recados': lista_recados,})
    return render_to_response("recados/index.html", { "form": form,}, context_instance=RequestContext(request))

和模板:

{% csrf_token %} {{ form.as_p }}
{% if lista_recados %} {% for recado in lista_recados %}

{{ recado.nome }}

{{ recado.data }}

{{ recado.recado }}


{% endfor %} {% else %}

Ainda não existem recados. Deixe o seu :)

{% endif %}

这会在页面上正确生成表单,但是当我单击提交按钮时,它不会将数据保存在数据库中,现在我无法弄清楚要做什么.用观点尝试了一些事情,但没有任何效果.

有谁可以帮助我吗?非常感谢你.



1> matino..:

您需要在视图中添加POST条件,验证表单然后保存:https: //docs.djangoproject.com/en/dev/topics/forms/#using-a-form-in-a-view

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有