Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

You can detect if your Django view is being accessed within an iFrame using the following code:

def my_view(request):
    if request.META.get('HTTP_REFERER'):
        referring_url = request.META['HTTP_REFERER']
        if 'iframe' in referring_url:
            # code to handle if view is within iframe
        else:
            # code to handle if view is NOT within iframe
    else:
        # code to handle if there is no referring URL

Explanation:

  • request.META.get('HTTP_REFERER') returns the URL of the page that referred the user to the current page
  • if 'iframe' in referring_url checks if the referring URL contains the string 'iframe', which is often used in the URL of pages that load the current page within an iFrame
  • If the view is being accessed within an iFrame, you can handle it accordingly in the first block of code. If not, you can handle it in the second block of code. If there is no referring URL, you should handle it in the third block of code.