Why does placing flask form fields in an html page look like a function call? (and is that exact syntax necessary?)

In the flask course it looks like if I have a flask form class with an attribute of name which is a StringField for example, when I want to place that field in my html page I have to do it like this:

{{ template_form.name() }}

which looks like a function call. Is the field attribute I added to the form class in my application a function? or am I creating a new object of another class?
if so, then why when I tried using the name field like this:

{{ template_form.name }}

it works just the same. If so, then why does the syntax require the parenthesis?