Search code examples
pythondjangoformsmodel

How can I get a textarea from model+ModelForm?


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

But I get a text input not textarea for models.TextField(). Is that a reason of css?


Solution

  • I think this section in the documentation should be useful to solve the problem.

    from django.forms import ModelForm, Textarea
    
    class PostModelForm(ModelForm):
        class Meta:
            model = Post
            widgets = {
                'content': Textarea(attrs={'cols': 80, 'rows': 20}),
            }