How to change a form name in class based view?

If the section of the template that includes these lines:

Is what’s in one of the include directives, perhaps:

Then keep in mind that you can assign a name to a context reference in the include statement with the with directive. See include.

This means you can do something like:
{% include "MyNetwork/form/person/full_name_fields_form.html" with form=form_1 %}
and
{% include "MyNetwork/form/person/full_name_fields_form.html" with form=form_2 %}

where references to form within the full_name_fields_form.html template are referring to the context entries form_1 and form_2 respectively.

The templating system is very much designed around being flexible and used in a “generic” manner. Look at the system provided templates for things like the admin and the standard widgets to get some ideas as to just how flexible they can be.

And so the reason I recommend going with option 1 above is that learning how to create and use these types of generic templates goes a long way toward reducing duplicated functionality.

Now, having said all this, I will point out that the Django-provided CBVs are not a good solution for “multiple-form” views. Yes, they can be adapted to handling multiple forms, but it’s not really what they’re designed to do and you end up having to override more functionality than you might like to ensure that both forms are handled properly.

If you have multiple views where each view is having to properly manage multiple forms, my suggestion is to either use FBVs - or if you have enough of these where it’s worthwhile to do so, create your own CBVs starting from View.