python - 如何解决关系“django_session”在具有firebase后端并部署在heroku上的django应用程序中不存在错误
问题描述
我开发了 Django 应用程序,使用 firebase 进行身份验证并作为应用程序的数据库,在本地我没有问题,但是当我每次尝试登录或在应用程序中创建新帐户时部署到 Heroku 时,我都会收到此错误。
'''relation "django_session" does not exist
第 1 行:从“django_session”中选择(1)作为“a”,其中“django_sessio ...”
但我没有模型,因为我使用的是 firebase,我该如何解决这个问题.....
这是我下面的代码
设置.py
'''
import os
import django_heroku
import dj_database_url
from decouple import config
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'your secret key'
DEBUG = False
ALLOWED_HOSTS =[]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'payments.apps.PaymentsConfig',
]
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',
'whitenoise.middleware.WhiteNoiseMiddleware',
]
ROOT_URLCONF = 'snailPortal.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'snailPortal.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': BASE_DIR / 'db.sqlite3',
}
}
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
MEDIA_URL = '/images/'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
#STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_STORAGE ='django.contrib.staticfiles.storage.StaticFilesStorage'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')
django_heroku.settings(locals())
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# other finders..
'compressor.finders.CompressorFinder',
)
'''
视图.py
对于 Firebase api
'''
from django.shortcuts import render, redirect
import pyrebase
from django.contrib import auth
from django.urls import reverse
from django.http import JsonResponse, HttpResponse
import requests
import os
from io import BytesIO
from django.template.loader import get_template
from django.views import View
from xhtml2pdf import pisa
import tempfile
firebaseConfig = {
'apiKey': "apikey",
'authDomain': "authdomain",
'databaseURL': "databaseURL",
'projectId': "snail-portal",
'storageBucket': "storageBucket",
'messagingSenderId': "messagingSenderId",
'appId': "appId",
'measurementId': "measurementId",
};
firebase= pyrebase.initialize_app(firebaseConfig)
authe= firebase.auth()
database = firebase.database()
#firebase = pyrebase.analytics();
#db=firebase.database()
'''
解决方案
推荐阅读
- mysql - 在 MySQL 中,与整数或整数字符串进行比较是否更快?
- javascript - 似乎无法让商店的页面系统正常工作
- javascript - 无论您如何滚动反应本机,如何捕捉到相邻视图?
- c - Linux内核匿名映射中的vm_offset
- python - 通过python从某些网站获取数据
- vue.js - 部署到 vercel 的 Vue 应用程序不呈现
- javascript - 使javascript迭代类似于python
- java - Java 可以更快地完成这个 BitSet.or 比较吗?
- android - 如何设置 MaterialButton 图标大小以适应约束?
- mysql - 从MySQL读取数据时,Xamarin表单无法仅在UWP中读取结果集