docs: def modify_placeholder(request, page_id):
      """Modify the content of a page."""
      content_type = request.GET.get('content_type')
      language_id = request.GET.get('language_id')
      page = get_object_or_404(Page, pk=page_id)
      perm = request.user.has_perm('pages.change_page')
      if perm and request.method == 'POST':
          placeholders = get_placeholders(page.get_template())
          for placeholder in placeholders:
              if placeholder.name == content_type:
                  initial = placeholder.get_content(
                      page, language_id, lang_fallback=False)
                  form = forms.Form(request.POST, request.FILES)
                  form.fields[content_type] = placeholder.get_field(
                      page, language_id, initial=initial)
                  if not form.is_valid():
                      return HttpResponse(form.as_p())
  
                  if placeholder.shared:
                      save_page = None
                  else:
                      save_page = page
  
                  extra_data = placeholder.get_extra_data(form.data)
  
                  placeholder.save(
                      save_page, language_id,
                      form.cleaned_data[content_type], True, extra_data)
                  if save_page:
                      page.invalidate()
                      # to update last modification date
                      page.save()
                  else:
                      fake_page.invalidate(content_type)
  
                  return HttpResponse('ok')
          raise Http404("Content type not found in placeholders")
  
      raise Http404