from django.core.files.storage import default_storage
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from django.http import HttpResponse

def badge(request, username, size=''):

    # serve the inactive badge by default
    filename = 'images/badge/%sinactive.png' % size

    # get a handle for the user profile
    profile = get_object_or_404(User, username=username)
    profile = profile.get_profile()

    if profile.active:
       # serve the active badge
       filename = 'images/badge%s/active.png' % size

    # set the content type appropriately
    return HttpResponse(default_storage.open(filename).read(),
                        content_type='image/png')

from django.core.files.storage import default_storage
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from django.http import HttpResponse, Http404

def badge(request, username, size=''):

    # serve the inactive badge by default
    filename = 'images/badge/%sinactive.png' % size

    # get a handle for the user profile
    profile = get_object_or_404(User, username=username)
    profile = profile.get_profile()

    if profile.free:
        # return a 404 for FREE profiles
        raise Http404
    
    if profile.active:
        # serve the active badge
        filename = 'images/badge%s/active.png' % size

    # set the content type appropriately
    return HttpResponse(default_storage.open(filename).read(),
                        content_type='image/png')

Raise a 404 when for FREE profile badge requests
Raise a 404 when for FREE profile badge requests

  from django.core.files.storage import default_storage
  from django.shortcuts import get_object_or_404
  from django.contrib.auth.models import User
- from django.http import HttpResponse
+ from django.http import HttpResponse, Http404
  
  def badge(request, username, size=''):
  
      # serve the inactive badge by default
      filename = 'images/badge/%sinactive.png' % size
  
      # get a handle for the user profile
      profile = get_object_or_404(User, username=username)
      profile = profile.get_profile()
  
+     if profile.free:
+         # return a 404 for FREE profiles
+         raise Http404
+     
      if profile.active:
-        # serve the active badge
+         # serve the active badge
-        filename = 'images/badge%s/active.png' % size
+         filename = 'images/badge%s/active.png' % size
  
      # set the content type appropriately
      return HttpResponse(default_storage.open(filename).read(),
                          content_type='image/png')
  
Raise a 404 when for FREE profile badge requests
## Code Before:
from django.core.files.storage import default_storage
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from django.http import HttpResponse

def badge(request, username, size=''):

    # serve the inactive badge by default
    filename = 'images/badge/%sinactive.png' % size

    # get a handle for the user profile
    profile = get_object_or_404(User, username=username)
    profile = profile.get_profile()

    if profile.active:
       # serve the active badge
       filename = 'images/badge%s/active.png' % size

    # set the content type appropriately
    return HttpResponse(default_storage.open(filename).read(),
                        content_type='image/png')

## Instruction:
Raise a 404 when for FREE profile badge requests
## Code After:
from django.core.files.storage import default_storage
from django.shortcuts import get_object_or_404
from django.contrib.auth.models import User
from django.http import HttpResponse, Http404

def badge(request, username, size=''):

    # serve the inactive badge by default
    filename = 'images/badge/%sinactive.png' % size

    # get a handle for the user profile
    profile = get_object_or_404(User, username=username)
    profile = profile.get_profile()

    if profile.free:
        # return a 404 for FREE profiles
        raise Http404
    
    if profile.active:
        # serve the active badge
        filename = 'images/badge%s/active.png' % size

    # set the content type appropriately
    return HttpResponse(default_storage.open(filename).read(),
                        content_type='image/png')
