title: Crispy forms text input height (Django 1.9)
body: <p>My input text fields rendered with crispy forms are way too tall. In all the examples I see most text fields have a height of just one character (that is what I want). But my input fields are much higher. 
  I am using bootstrap3.
  (see attached image)<a href="https://i.stack.imgur.com/vOKcg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vOKcg.png" alt="enter image description here"></a></p>
  
  <p>My base template has nothing special as far as I can see. Here's the main part:</p>
  
  <pre><code>      &lt;body class="skin-black"&gt;
      &lt;!-- header logo: style can be found in header.less --&gt;
      &lt;header class="header"&gt;
          &lt;a href="/" class="logo"&gt;
          &lt;img src="{% static 'portal/logo.png' %}" alt="Logo"/&gt;
          &lt;/a&gt;
          &lt;!-- Header Navbar: style can be found in header.less --&gt;
          &lt;nav class="navbar navbar-static-top" role="navigation"&gt;
              &lt;!-- Sidebar toggle button--&gt;
              &lt;a href="#" class="navbar-btn sidebar-toggle" data-toggle="offcanvas" role="button"&gt;
                  &lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;
                  &lt;span class="icon-bar"&gt;&lt;/span&gt;
                  &lt;span class="icon-bar"&gt;&lt;/span&gt;
                  &lt;span class="icon-bar"&gt;&lt;/span&gt;
              &lt;/a&gt;
              &lt;div class="navbar-right"&gt;
                  {% if user.is_authenticated %}
                      &lt;a href="/logout"&gt;&lt;span class="glyphicon glyphicon-log-out"&gt;&lt;/span&gt; Logout {{ user.username }} &lt;/a&gt;
                  {% else %}
                      &lt;a href="/registration/login"&gt;&lt;span class="glyphicon glyphicon-log-in"&gt;&lt;/span&gt; Login&lt;/a&gt;
                  {% endif %}
              &lt;/div&gt;
          &lt;/nav&gt;
      &lt;/header&gt;
              &lt;div class="wrapper row-offcanvas row-offcanvas-left"&gt;
                  &lt;!-- Left side column. contains the logo and sidebar --&gt;
                  &lt;aside class="left-side sidebar-offcanvas"&gt;
                      &lt;!-- sidebar: style can be found in sidebar.less --&gt;
                      &lt;section class="sidebar"&gt;
                          &lt;!-- Sidebar user panel --&gt;
                          &lt;div class="user-panel"&gt;&lt;/div&gt;
                      &lt;/section&gt;
                         &lt;!-- sidebar menu: : style can be found in sidebar.less --&gt;
                      {% if user.is_authenticated %}
                          &lt;div id="MainMenu"&gt;
                            &lt;div class="list-group panel"&gt;
                                {% for group in user.groups.all %}
                                  {% if not group.name == 'client' %}
                                      &lt;a href="/" class="list-group-item"&gt;Home&lt;/a&gt;
                                      &lt;a href="/modules" class="list-group-item"&gt;Modules&lt;/a&gt;
                                  {% endif %}
                                {% endfor %}
                              &lt;/div&gt;
                            &lt;/div&gt;
                      {% endif %}
                      &lt;/aside&gt;
  
              &lt;aside class="right-side"&gt;
                  &lt;section class="content"&gt;
                      &lt;div class="wrapper"&gt;
                          &lt;div class="row"&gt;
                              {% block content %}{% endblock %}
                          &lt;/div&gt;
                      &lt;/div&gt;
                  &lt;/section&gt;
  
  
              &lt;div class="footer-main navbar-default navbar-fixed-bottom" id="footer"&gt;
                  Copyright &amp;copy NOZHUP, 2016
              &lt;/div&gt;
              &lt;/aside&gt;&lt;!-- /.right-side --&gt;
  
  
      &lt;/div&gt;
  </code></pre>
  
  <p>Forms.py:</p>
  
  <pre><code>from django import forms
  from django.core.urlresolvers import reverse_lazy
  from django.contrib.auth.forms import AuthenticationForm
  from .models import Module, Category, Case
  from crispy_forms.helper import FormHelper
  from crispy_forms.layout import Submit, Layout, Field, Fieldset, ButtonHolder
  from crispy_forms.bootstrap import (
      PrependedText, PrependedAppendedText, FormActions)
  
  
  
  class ModuleForm(forms.ModelForm):
      def __init__(self, *args, **kwargs):
          super(ModuleForm, self).__init__(*args, **kwargs)
  
          self.helper = FormHelper(self)
          self.helper.form_method = 'POST'
          #self.helper.form_class = 'form-horizontal'
          #self.helper.label_class = 'col-md-2'
          #self.helper.field_class = 'col-md-8'
          self.helper.layout = Layout(
              Fieldset(
                  'Enter module name, version and description',
                  'name',
                  'version',
                  'description'
              ),
              ButtonHolder(
                  Submit('submit', 'Submit', css_class='button white')
              )
          )
  
      class Meta:
          model = Module
          fields=('name', 'version', 'description')
  
  class CategoryForm(forms.ModelForm):
      def __init__(self, *args, **kwargs):
          super(CategoryForm, self).__init__(*args, **kwargs)
  
          self.helper = FormHelper(self)
          self.helper.form_method = 'POST'
          self.helper.layout.append(Submit('save', 'save'))
  
      class Meta:
          model = Category
          fields=('name',)
  </code></pre>
  
  <p>models.py:</p>
  
  <pre><code>from __future__ import unicode_literals
  from django.db import models
  
  # Create your models here.
  class Module(models.Model):
      name = models.TextField(null=True)
      version = models.TextField(null=True)
      description = models.TextField(null=True)
  
      def __unicode__(self):  # __unicode__ on Python 2
          return self.name
  
  
  class Category(models.Model):
      name = models.TextField(null=True)
      module = models.ForeignKey(Module, on_delete=models.CASCADE)
  
      def __unicode__(self):  # __unicode__ on Python 2
          return self.name
  
  class Case(models.Model):
      name = models.TextField(null=True)
      action = models.TextField(null=True)
      desiredresult = models.TextField(null=True)
      category = models.ForeignKey(Category, on_delete=models.CASCADE)
  
      def __unicode__(self):  # __unicode__ on Python 2
          return self.name
  
  class Suite(models.Model):
      name = models.TextField(null=True)
      description = models.TextField(null=True)
      cases = models.ManyToManyField(Case)
      untested = models.IntegerField(default=0)
      passed = models.IntegerField(default=0)
      failed = models.IntegerField(default=0)
  
      def __unicode__(self):  # __unicode__ on Python 2
          return self.name
  </code></pre>
  
  <p>module_edit.html:</p>
  
  <pre><code>{% extends "base.html" %}
  {% load crispy_forms_tags %}
  {% block content %}
  &lt;h4&gt;Modules&lt;/h4&gt;
  {% crispy form %}
  {% endblock %}
  </code></pre>