django的form,数据在html的显示

django版本1.4.5

针对models里面的 CharField

下面写方法

在models.py中,给CharField添加参数

 1 from django.db import  models
 2 from django.forms import  ModelForm
 3 
 4 TITLE_CHOICES  =  ( 
 5       (’MR’,  ’Mr.’), 
 6       (’MRS’, ’Mrs.’), 
 7       (’MS’,  ’Ms.’), 
 8 )
 9 class   Author (models.Model): 
10     name   = models .CharField(max_length=100) 
11     title   = models .CharField(max_length=3, choices=TITLE_CHOICES)
12 
13     def  __unicode__ (self): 
14           return   self.name 
15 
16 class  AuthorForm (ModelForm): 
17      class  Meta : 
18           model   =  Author 
models.py

其中, (’MR’,  ’Mr.’), 前一个参数是存入数据库的,后一个是显示给用户的

在forms.py中

 1 from   django   import   forms 
 2 
 3 class   AuthorForm (forms.Form): 
 4      name   = forms.CharField(max_length=100) 
 5      title   =  forms.CharField(max_length=3,
 6                                    widget=forms.Select(choices=TITLE_CHOICES))
 7 
 8 #官方文档是这样写的,但是实践结果,是有问题的,“TITLE_CHOICES”不认识
 9 #所以需要在这个class前面添加如下内容
10 TITLE_CHOICES  =  ( 
11       (’MR’,  ’Mr.’), 
12       (’MRS’,   ’Mrs.’), 
13       (’MS’,  ’Ms.’), 
14 )
15 #要添在调用前哦~,另外,需要保持跟models.py中的一致
forms.py

这样在html中调用时就有下拉框的效果了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。