1
The {% empty %}
clause will display the text only when the given array is empty or it doesn’t exist. In this case the form will always have fields even if the choices are empty.
You should try checking directly with the choices and show the form only when its not empty.
Source:stackexchange.com