首页 > 解决方案 > 如何解决关系“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()

'''

标签: pythondjangofirebaseheroku

解决方案


推荐阅读