Skip to content

Instantly share code, notes, and snippets.

@ezl
Created June 15, 2016 15:41
Show Gist options
  • Save ezl/b5c5a6ac426e406d29ce65db0c3146be to your computer and use it in GitHub Desktop.
Save ezl/b5c5a6ac426e406d29ce65db0c3146be to your computer and use it in GitHub Desktop.
Saving user acquisition information
class OriginalRefererMiddleware(object):
def process_request(self, request):
referer = request.META.get("HTTP_REFERER")
host = request.META.get("HTTP_HOST")
path_info = request.META.get("PATH_INFO")
user_agent = request.META.get("HTTP_USER_AGENT")
server_name = request.META.get("SERVER_NAME")
if not "ORIGINAL_HTTP_REFERER" in request.session.keys():
request.session['ORIGINAL_HTTP_REFERER'] = referer
if not 'ENTRY_PAGE' in request.session.keys():
request.session['ENTRY_PAGE'] = (host or server_name) + path_info
def set_original_referer(user, request):
user_profile = user.get_profile()
user_profile.original_referer = request.session.get("ORIGINAL_HTTP_REFERER")
user_profile.entry_page = request.session.get("ENTRY_PAGE")
user_profile.save()
# then, on signup method, just call set_original_referrer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment