Created
June 15, 2016 15:41
-
-
Save ezl/b5c5a6ac426e406d29ce65db0c3146be to your computer and use it in GitHub Desktop.
Saving user acquisition information
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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