Как я вижу, вы не определяете template_name
в своем представлении, поэтому вы получаете ошибку шаблона.Сначала исправьте это -
class UpdateMprofile(LoginRequiredMixin, LogoutIfNotSuperuserMixin, UpdateView):
template_name = aapp/profile.html #Template directory should be correct.
login_url = reverse_lazy('mlogin')
model = User
fields = ['first_name', 'last_name', 'mobile', 'avatar']
success_url = reverse_lazy('mprofile')
Django уже обрабатывает ошибки, но в вашем шаблоне вы не закодировали его, чтобы показать ошибки.
Чтобы показать все ошибки одновременно, вы могли бы -
{% for error in form.non_field_errors %}
{{error}}
{% endfor %}
или если вы хотите отобразить ошибку с их полем, используйте это -
{% for error in form.first_name.errors %}
<span class="help-block text-danger">{{ error }}</span>
{% endfor %}
Еще одна рекомендация, для использования форм - Widget Tweaks
, здесь хорошо учебник .