Skip to content

Commit 2de9c2c

Browse files
committed
sessions
1 parent 06c9945 commit 2de9c2c

File tree

8 files changed

+92
-3
lines changed

8 files changed

+92
-3
lines changed

firstapp/admin.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,45 @@ def staff(self,obj):
163163
admin.site.register(Customer)
164164
admin.site.register(Seller, SellerAdmin)
165165
admin.site.register(Contact)
166-
admin.site.register(SellerAdditional)
166+
admin.site.register(SellerAdditional)
167+
168+
169+
#1 using simple database for sessions
170+
from django.contrib.sessions.models import Session
171+
import pprint
172+
173+
# If you remove this model admin below for sessions then you will see encrypted data only
174+
# class SessionAdmin(admin.ModelAdmin):
175+
# def _session_data(self, obj):
176+
# return obj.get_decoded()
177+
# list_display = ['session_key', '_session_data', 'expire_date']
178+
# admin.site.register(Session, SessionAdmin)
179+
180+
# class SessionAdmin(admin.ModelAdmin):
181+
# def _session_data(self, obj):
182+
# return pprint.pformat(obj.get_decoded()).replace('\n', '<br>\n')
183+
# _session_data.allow_tags=True
184+
# list_display = ['session_key', '_session_data', 'expire_date']
185+
# readonly_fields = ['_session_data']
186+
# exclude = ['session_data']
187+
# date_hierarchy='expire_date'
188+
189+
class SessionAdmin(admin.ModelAdmin):
190+
def _session_data(self, obj):
191+
return pprint.pformat(obj.get_decoded()).replace('\n', '<br>\n')
192+
_session_data.allow_tags=True
193+
list_display = ['session_key', '_session_data', 'expire_date']
194+
readonly_fields = ['_session_data']
195+
exclude = ['session_data']
196+
197+
admin.site.register(Session, SessionAdmin)
198+
199+
#admin.site.register(Session)
200+
201+
202+
#from django.contrib.sites.models import Site
203+
#admin.site.register(Site)
204+
205+
206+
# from django_cache.models import my_cache_table
207+
# admin.site.register(my_cache_table)

firstapp/templates/firstapp/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@
125125
<main>
126126
Hello World!
127127

128+
<h1>{{request.session.test}}</h1>
129+
{% if user.is_authenticated %}
130+
<h1>{{user.name}}</h1>
131+
{% endif %}
128132
{{age}}
129133
{{array}}
130134
{% for i in array %}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% extends 'firstapp/basic.html' %}
2+
{% load static %}
3+
{% block title %}
4+
{% endblock %}
5+
{% block css %}
6+
{% endblock %}
7+
8+
{% block body%}
9+
{% if user.is_authenticated %}
10+
<h1>{{user.name}}</h1>
11+
{% endif %}
12+
{{ request.session.test }}
13+
{{ request.session.test2 }}
14+
{% endblock %}

firstapp/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
path('', views.Index.as_view(), name="index"),
1111
path('contactus/', views.contactus2, name="contact"),
1212
path('contactusclass/', views.ContactUs.as_view(), name="contactclass"),
13+
path('testsessions/', views.testsessions, name="testsessions"),
1314

1415
# Authentication Endpoints
1516
path('signup/', views.RegisterView.as_view(), name="signup"),

firstapp/views.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ def get_context_data(self, **kwargs):
3838
context = {'age':age, 'array':arr, 'dic':dic, 'context_old':context_old}
3939
return context
4040

41+
def testsessions(request):
42+
if request.session.get('test', False):
43+
print(request.session["test"])
44+
#request.session.set_expiry(1)
45+
# if request.session['test']:
46+
# print(request.session['test'])
47+
request.session['test'] = "testing"
48+
request.session['test2'] = "testing2"
49+
return render(request, "firstapp/sessiontesting.html")
50+
51+
52+
4153
def contactus(request):
4254
if request.method == 'POST':
4355
name = request.POST.get('name')
@@ -121,15 +133,15 @@ def post(self, request, *args, **kwargs):
121133
user = CustomUser.objects.get(email = user_email)
122134
user.is_active = False
123135
user.save()
124-
current_site = get_current_site(request) #www.wondershop.in:8000
136+
current_site = get_current_site(request) #www.wondershop.in:8000 127.0.0.1:8000
125137
mail_subject = 'Activate your account.'
126138
message = render_to_string('firstapp/registration/acc_active_email.html', {
127139
'user': user,
128140
'domain': current_site.domain,
129141
'uid':urlsafe_base64_encode(force_bytes(user.pk)),
130142
'token':account_activation_token.make_token(user),
131143
})
132-
print(message)
144+
#print(message)
133145
to_email = user_email
134146
#form = RegistrationForm(request.POST) # here we are again calling all its validations
135147
form = self.get_form()

firstproject/settings.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,27 @@
3737
'django.contrib.sessions',
3838
'django.contrib.messages',
3939
'django.contrib.staticfiles',
40+
#'django.contrib.sites',
4041

4142
'firstapp',
4243
'seller',
4344
'django_hosts'
4445
]
4546

47+
CACHES = {
48+
'default': {
49+
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
50+
'LOCATION': 'my_cache_table',
51+
}
52+
}
53+
54+
#SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies"
55+
#SESSION_ENGINE = "django.contrib.sessions.backends.file"
56+
#SESSION_FILE_PATH = r"D:\Mastering Django\firstproject"
57+
#SESSION_ENGINE = "django.contrib.sessions.backends.cache"
58+
#SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
59+
#SESSION_CACHE_ALIAS
60+
4661
MIDDLEWARE = [
4762
'django_hosts.middleware.HostsRequestMiddleware',
4863
'django.middleware.security.SecurityMiddleware',
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
OGJiN2VkMjhhNmI0NmRlMjMxYjM3YmFlZGI5Njg3MzZiZWM2ZGI3Zjp7Il9hdXRoX3VzZXJfaWQiOiIxIiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiZGphbmdvLmNvbnRyaWIuYXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmQiLCJfYXV0aF91c2VyX2hhc2giOiJkMjBlOWFhN2ZlYWI1Y2FmMDQzOGVkZTAwMjBjMzBmMzcyN2E2NWQyIn0=
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Yjk0NjEzNDIxMjJiZjMxMjNhMmFmYTU1OTc5ZmI1ZmFlOTUzNjlkOTp7Il9hdXRoX3VzZXJfaWQiOiIyMiIsIl9hdXRoX3VzZXJfYmFja2VuZCI6ImRqYW5nby5jb250cmliLmF1dGguYmFja2VuZHMuTW9kZWxCYWNrZW5kIiwiX2F1dGhfdXNlcl9oYXNoIjoiMTg5MTdiZGVjNzk0OGIxNzE0YzFhNWRlZTEzNDYzMmQ4MzA4ZWE1YiJ9

0 commit comments

Comments
 (0)