当前位置:首页 > 开发 > Web前端 > 前端 > 正文

newforms 太好用了

发表于: 2007-05-21   作者:huangyiiiiii   来源:转载   浏览:
摘要: 建一个项目 newformstutorials ,建一个 app blog ,在 blog 的 models 中定义个: class Article(models.Model): title = models.CharField(u'标题', maxlength=255) author = models.CharField(u'作者', maxlength=20) hits
建一个项目 newformstutorials ,建一个 app blog ,在 blog 的 models 中定义个:
class Article(models.Model):
title = models.CharField(u'标题', maxlength=255)
author = models.CharField(u'作者', maxlength=20)
hits = models.IntegerField(u'点击数', default=0, editable=False)
content = models.TextField(u'内容')

配置好数据库,把 newformstutorials.blog 加到 INSTALLED_APPS,manage.py syncdb,然后 manage.py shell ,然后:
In [1]: import django.newforms as forms

In [2]: from newformstutorials.blog.models import Article

In [3]: ArticleForm = forms.form_for_model(Article)

In [4]: form = ArticleForm()

In [5]: print unicode(form)
标题:
作者:"text" name="author" maxlength="20" />
内容:

In [6]: print form.as_ul()
  • 标题:

  • 作者: "author" maxlength="20" />

  • 内容:


  • 一个空白的 form 就这样出来了,这就是个添加文章的表单,让我们用这个表单来加点数据吧:
    In [7]: form = ArticleForm({'title':'some title','author':'huangyi'})

    In [8]: form.is_valid()
    Out[8]: False

    In [9]: form.errors
    Out[9]: {'content': [u'This field is required.']}

    In [10]: form = ArticleForm({'title':'some title','author':'huangyi', 'content':
    'some contents...'})

    In [11]: form.is_valid()
    Out[11]: True

    In [12]: article = form.save(commit=True)

    OK,数据就这样保存了,我们再来试试数据更新的页面吧:
    In [13]: ChangeForm = forms.form_for_instance(article)

    In [14]: form = ChangeForm()

    In [15]: print unicode(form)
    标题:
    作者:"text" name="author" value="huangyi" maxlength="20" />
    内容:

    In [16]: form = ChangeForm({'title':'another title', 'author':'huangyi', 'conten
    t':'other contents...'})
    In [17]: form.is_valid()
    Out[17]: True

    In [18]: form.save()
    Out[18]: <article: article="" object="">

    In [19]: article = Article.objects.get(id=article.id)

    In [20]: article.title
    Out[20]: 'another title'

    newforms 太好用了

    • 0

      开心

      开心

    • 0

      板砖

      板砖

    • 0

      感动

      感动

    • 0

      有用

      有用

    • 0

      疑问

      疑问

    • 0

      难过

      难过

    • 0

      无聊

      无聊

    • 0

      震惊

      震惊

    版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号