def METHOD_NAME(request, prize_win):
    auth_code = request.GET.get('auth_code', None)
    try:
        prize_win = models.PrizeWinner.objects.get(
            pk=prize_win, auth_code__iexact=auth_code
        )
    except ObjectDoesNotExist:
        raise Http404
    if request.method == 'POST':
        if prize_win.prize.requiresshipping:
            address_form = forms.AddressForm(
                prefix='address', instance=prize_win.winner, data=request.POST
            )
        else:
            address_form = None
        acceptance_form = forms.PrizeAcceptanceForm(
            prefix='prizeaccept', instance=prize_win, data=request.POST
        )
        if acceptance_form.is_valid() and (not address_form or address_form.is_valid()):
            with transaction.atomic():
                acceptance_form.save()
                if address_form:
                    address_form.save()
    else:
        if prize_win.prize.requiresshipping:
            address_form = forms.AddressForm(
                prefix='address', instance=prize_win.winner
            )
        else:
            address_form = None
        acceptance_form = forms.PrizeAcceptanceForm(
            prefix='prizeaccept', instance=prize_win
        )
    return views_common.tracker_response(
        request,
        'tracker/prize_winner.html',
        dict(
            acceptance_form=acceptance_form,
            address_form=address_form,
            prize=prize_win.prize,
            prize_win=prize_win,
        ),
    )