使用登录(请求、用户)功能和数据库而不是默认的-django?
user = authenticate(username=username, password=password)
login(request, user)
有什么可能吗
请求的会话在请求完成之前被删除。这个
例如,用户可能已在并发请求中注销。
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),},
'mw': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '01_sistema',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
'PORT': '5432',
}
}
我创建了一个路由,它与查询完美结合。但是对于函数login(request,user)不起作用。
class TenantRouter(object):
def db_for_read(self, model, **hints):
return get_thread_local('using_db', 'default')
def db_for_write(self, model, **hints):
return get_thread_local('using_db', 'default')
def allow_relation(self, obj1, obj2, **hints):
return True
def allow_migrate(self, db, app_label, model_name=None, **hints):
return True
中间件
def Multidb(get_response):
def middleware(request):
try:
usuario = request.user
empresa = usuario.empresa
print('0')
except:
empresa = request.GET['empresa']
print('1')
@thread_local(using_db=empresa)
def execute_request(request):
return get_response(request)
response = execute_request(request)
return response
return middleware
整个问题是由于登录中的错误(请求、用户),登录部分没有注册。
谢谢大家的关注。