﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
30045	"""can't concat str to bytes error"" on SessionMiddleware with python 3"	fmdra	nobody	"I recently moved to python 3 and django 2.1 (from 2.7.x and 1.11.x, respectively).

I'm hitting this issue:
""can't concat str to bytes error""

I believe the following line needs to be changed from:
`return base64.b64encode(hash.encode() + b"":"" + serialized).decode('ascii')`
to:
`return base64.b64encode(hash.encode() + b"":"" + serialized.encode()).decode('ascii')`

Below is a redacted traceback:
{{{
Environment:


Request Method: GET
Request URL: <redacted> 

Django Version: 2.1.4
Python Version: 3.6.6
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 '<redacted>']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']


Traceback:

File ""<redacted>/lib/python3.6/site-packages/django/core/handlers/exception.py"" in inner
  34.             response = get_response(request)

File ""<redacted>/lib/python3.6/site-packages/django/utils/deprecation.py"" in __call__
  93.             response = self.process_response(request, response)

File ""<redacted>/lib/python3.6/site-packages/django/contrib/sessions/middleware.py"" in process_response
  58.                             request.session.save()

File ""<redacted>/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py"" in save
  83.         obj = self.create_model_instance(data)

File ""<redacted>/lib/python3.6/site-packages/django/contrib/sessions/backends/db.py"" in create_model_instance
  70.             session_data=self.encode(data),

File ""<redacted>/lib/python3.6/site-packages/django/contrib/sessions/backends/base.py"" in encode
  98.         return base64.b64encode(hash.encode() + b"":"" + serialized).decode('ascii')

Exception Type: TypeError at <redacted> 
Exception Value: can't concat str to bytes
}}}"	Bug	closed	contrib.sessions	2.1	Normal	needsinfo			Unreviewed	0	0	0	0	0	0
