docs: def import_from_file(request):
      """
      Import a part of a source site's page tree via an import of a JSON file
      exported to a user's filesystem from the source site's Wagtail Admin
  
      The source site's base url and the source page id of the point in the
      tree to import defined what to import and the destination parent page
      defines where to import it to.
      """
      if request.method == 'POST':
          form = ImportFromFileForm(request.POST, request.FILES)
          if form.is_valid():
              import_data = json.loads(form.cleaned_data['file'].read().decode('utf-8-sig'))
              parent_page = form.cleaned_data['parent_page']
  
              try:
                  page_count = import_pages(import_data, parent_page)
              except LookupError as e:
                  messages.error(request, _(
                      "Import failed: %(reason)s") % {'reason': e}
                  )
              else:
                  messages.success(request, ungettext(
                      "%(count)s page imported.",
                      "%(count)s pages imported.",
                      page_count) % {'count': page_count}
                  )
              return redirect('wagtailadmin_explore', parent_page.pk)
      else:
          form = ImportFromFileForm()
  
      return render(request, 'wagtailimportexport/import_from_file.html', {
          'form': form,
      })