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
其中, (’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中的一致
这样在html中调用时就有下拉框的效果了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。