You should do something like:
{% if field.widget...... %}
The widget is responsible for the rendering, not the field it self.
Example to check it in the shell:
from django import forms
from django.forms import widgets
class ContactForm(forms.Form):
text = forms.CharField(max_length=100, widget=widgets.Textarea)
f = ContactForm()
f.fields['text'].widget
<django.forms.widgets.Textarea object at 0x218ccd0>