`
huangyiiiiii
  • 浏览: 118926 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

newforms 太好用了

阅读更多
建一个项目 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'
    分享到:
    评论
    3 楼 simohayha 2007-05-23  
    贴代码用bbcode比较好,richcode不好用.
    2 楼 huangyiiiiii 2007-05-23  
    http://codeplayer.blogspot.com/2007/05/newforms.html
    1 楼 huangyiiiiii 2007-05-23  
    郁闷那,我都是写的 &lt; &gt; ,怎么都当html显示出来了呢?

    相关推荐

      npm-newforms:打包为与 npm 一起使用的 newforms 库

      Newforms 可以在服务器上使用,也可以使用与 npm 兼容的打包系统(例如或捆绑到客户端。 npm install newforms var forms = require ( 'newforms' ) 默认情况下,newforms 将处于开发模式。 要在生产模式下使用...

      newforms-gridforms:新表单的网格表单集成

      newforms-gridforms 集成。 演示 - 来自网格表单主页的演示,使用 newforms-gridforms 呈现。 安装 节点.js newforms-gridforms 可以在服务器上使用,也可以使用与 npm 兼容的打包系统(例如或捆绑到客户端。 ...

      newforms-examples:newforms React 的示例存储库

      新形式-例子示例存储库。() 包含尽可能多的默认新表单字段和小部件的基本表单,显示字段支持的一系列选项。 此示例还演示了: 覆盖默认的render()方法使用BoundField和 JSX 实现自定义渲染。() 此示例展示了如何...

      supercaptcha:django newforms 的验证码

      超级验证码supercaptcha 易于使用 django 的验证码字段用法 class MySuperForm ( forms . Form ): captcha = supercaptcha . CaptchaField ( label = u"no robots here" )要求您不需要对形式、中间件、上下文处理器...

      sails-isomorphic-react-admin-example:具有同构和单独管理的Sails应用程序(自动和可扩展)

      browserify -r react -r react-router -r newforms -r newforms-bootstrap -r auto-admin -r rc-pagination &gt; assets/js/admin/dependencies/build.js browserify -r react -r react-router &gt; assets/js/front/...

      浅析Django处理流程和结构分析django.doc

      * forms newforms oldforms:处理 html 的表单,不用多介绍。 * middleware:中间件,就是处理 HTTP 的 request 和 response 的,类似插件。 * template:Django 的模板,我个人认为这块是非常有创意的。 * ...

      详解Django中的form库的使用

      随着技术的发展与改进,Django团队对表单系统进行了彻底重构,并将其命名为`django.newforms`,以便与旧版区分开来。随着Django 1.0版本的发布,旧版`django.forms`已被弃用,而新版则正式更名为`django.forms`。 #...

    Global site tag (gtag.js) - Google Analytics