Переопределите метод __init__()
вашей формы как,
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
age = forms.IntegerField()
<b>def __init__(self, *args, **kwargs):
self.method = kwargs.pop('method', None)
super(NameForm, self).__init__(*args, **kwargs)
if self.method == 'GET':
self.fields.pop('age')</b>
и в ваших представлениях передайте method
аргумент как,
def get_name(request):
if request.method == 'POST':
<b>form = NameForm(request.POST, method='POST')</b>
if form.is_valid():
return HttpResponseRedirect('/thanks/')
else:
<b>form = NameForm(method='GET')</b>
return render(request, 'name.html', {'form': form})