第一步:首先,在models.py中定义一个表单模型
 
那个topic中的choices需要在models.py中定义一个数组.
 
这样,之后在html显示的表单就采用这个模型的数据了。
另外还有一种定义表单模型的方式,那就是直接继承另一个models。如果我们在models里设计数据库时,已经设计好了一个类(就是数据库的表)之后想复用这个类的信息来作为表单的模型,那么很简单,同样是在models中的一个类
 
注意,他的类型是models.Model,是做数据库ORM用的。
然后怎么关联呢?
需要导入一个新的类 (ModelForm)
 
from django.forms import ModelForm
class ContactForm(ModelForm):
  class Meta:
    model = Advertisement
    fields = ('Title', 'CustomerID')
这里的Advertisement就是之前那个ORM的模型。
第二步:OK,继续我们的表单,下一步需要做什么呢?开始在views.py里写对表单的调用吧.
 
整个代码很简单。
第三步:django里任何访问都是通过urls.py来管理的。所以下面我们需要配置一个路径。
 
第四步:最后应该是建立一个模板的时候了,因为我们最终是输出到html上的.注意views的remark函数最后一行
 
就是讲当前的表单对象输出到message.html里,自动生成一个表单。
所以,先构建一个html.
这个html模板很简单,除去不必要的CSS,我只给出核心部分好啦。
 
  <form action="/message/" method="POST">
    {% for field in form %}
      <div class="fieldWrapper">
         {{ field.label_tag }}:{{ field }} 
         {{ field.errors }}
      </div>
    {% endfor %}
    <div class="fieldWrapper"><p><input type="submit" value="留言" /></p></div>
  </form>
{% for field in form %}
{% endfor %}
 
用于对表单对象里的元素进行遍历,然后通过
 
这三个标签来输出,注意{{ field.errors }}默认情况下是不会输出的,只有当验证表单正确性时才会输出内容。
最后,通过http://youdjangourl/message来访问这个例子
如下图:


