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中调用时就有下拉框的效果了。
时间: 2024-11-06 17:40:57