如何从模型和ModelForm中获取textarea?
models.py=>
from django.db import models
from django.forms import ModelForm
from datetime import date
import datetime
from django import forms
from django.forms import Textarea
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created = models.DateField(auto_now_add=True)
modified = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.title
class PostModelForm(ModelForm):
class Meta:
model = Post
但是我得到的是一个文本输入框,而不是文本区域,使用的是 models.TextField()
。这是不是因为CSS的原因呢?
3 个回答
1
你现在使用的是模型,而不是表单,这就意味着你不能正确使用文本区域(textarea)。你可以试试使用文本字段(TextField):
field_name = models.TextField( **options)
11
这是对jcollardo解决方案的另一种写法(结果相同,但语法不同):
from django import forms
class PostModelForm(forms.ModelForm):
content = forms.CharField(widget=forms.Textarea)
class Meta:
model = Post
22
我觉得文档中的这一部分应该能帮助你解决这个问题。
from django.forms import ModelForm, Textarea
class PostModelForm(ModelForm):
class Meta:
model = Post
widgets = {
'content': Textarea(attrs={'cols': 80, 'rows': 20}),
}