docs: def import_from_api(request):
      """
      Import a part of a source site's page tree via a direct API request from
      this Wagtail Admin to the source site
  
      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 = ImportFromAPIForm(request.POST)
          if form.is_valid():
              # remove trailing slash from base url
              base_url = re.sub(r'\/$', '', form.cleaned_data['source_site_base_url'])
              import_url = (
                  base_url + reverse('wagtailimportexport:export', args=[form.cleaned_data['source_page_id']])
              )
              r = requests.get(import_url)
              import_data = r.json()
              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 = ImportFromAPIForm()
  
      return render(request, 'wagtailimportexport/import_from_api.html', {
          'form': form,
      })