chat v2
This commit is contained in:
SDE
2023-08-09 15:32:39 +03:00
parent 9dd94ffac0
commit 99f8dee269
2 changed files with 39 additions and 7 deletions

View File

@@ -1,7 +1,28 @@
import json
import datetime
from django.http import HttpResponse
from django.utils.deprecation import MiddlewareMixin
from django.conf import settings
def set_cookie(response, key, value, days_expire=7):
if days_expire is None:
max_age = 365 * 24 * 60 * 60 # one year
else:
max_age = days_expire * 24 * 60 * 60
expires = datetime.datetime.strftime(
datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age),
"%a, %d-%b-%Y %H:%M:%S GMT",
)
response.set_cookie(
key,
value,
max_age=max_age,
expires=expires,
domain=settings.SESSION_COOKIE_DOMAIN,
secure=settings.SESSION_COOKIE_SECURE or None,
)
return response
class ResponseInterceptionMiddleware:
# def __init__(self, get_response):
@@ -18,12 +39,20 @@ class ResponseInterceptionMiddleware:
# Code to be executed for each request before
# the view (and later middleware) are called.
if request.user.is_authenticated:
request = request.user.user_profile.save_user_alerts_to_session(request)
# if request.user.is_authenticated:
# request = request.user.user_profile.save_user_alerts_to_session(request)
response = self.get_response(request)
if request.user.is_authenticated:
for_save_to_session = request.user.user_profile.get_node_by_name('for_save_to_session')
if for_save_to_session:
for key, val in for_save_to_session.items():
# request.session[key] = json.dumps(val)
# response.set_cookie(key, json.dumps(val))
set_cookie(response, key, val, 30)
# Code to be executed for each request/response after
# the view is called.
return response
return response

View File

@@ -55,10 +55,13 @@ def user_profile_View(request):
Dict = {}
request.session['user_id'] = request.user.id
user_online = request.session.get('online', False)
# request.COOKIES['user_id'] = request.user.id
t = loader.get_template('pages/profile/p_user_profile.html')
return HttpResponse(t.render(Dict, request))
response = HttpResponse(t.render(Dict, request))
response.set_cookie('user_id', request.user.id)
return response
def login_View(request):