Ошибка "The view shop.views.view didn't return an HttpResponse object. It returned None instead" возникает, если в вашем представлении (view) использующем inlineformset_factory, не возвращается объект HttpResponse, а возвращается значение None.
Чтобы позволить добавление строки в inlineformset при нажатии кнопки, необходимо убедиться, что ваше представление правильно обрабатывает POST-запросы и возвращает HttpResponse. Вам нужно будет изменить представление таким образом, чтобы после добавления строки в inlineformset оно возвращало HttpResponse с перенаправлением на другую страницу или же с выводом сообщения об успешном добавлении данных.
Примерно так может выглядеть измененное представление:
```python
from django.http import HttpResponse
from django.shortcuts import render, redirect
from .models import ParentModel
from .forms import ChildFormset
def add_child(request, parent_id):
parent = ParentModel.objects.get(pk=parent_id)
ChildFormset = inlineformset_factory(ParentModel, ChildModel, fields=('name',), extra=1)
if request.method == 'POST':
formset = ChildFormset(request.POST, instance=parent)
if formset.is_valid():
formset.save()
return redirect('some-success-url')
else:
formset = ChildFormset(instance=parent)
return render(request, 'add_child.html', {'formset': formset})
```
Как видно из примера, после сохранения формы и проверки валидности данных, представление возвращает HttpResponse с перенаправлением на другую страницу. Важно также убедиться, что у вас корректно настроены URL-адреса в файле urls.py для обработки этого представления.