Python: Django 服务部署可能遇到的一些问题

502 bad gateway


不要用 python3 manage.py runserver 启动服务,
而要用:

daphne -b 0.0.0.0 -p <端口> <工程名>.asgi:application

此外,在 setting.py 中,修改:

import os

SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'cg#p$g+j9tax!#a3cup@1$8obt2_+&k3q+pmu)5%asj6yjpkag')

DEBUG = False

ALLOWED_HOSTS = ['<域名>']

CSRF fail


在 setting.py 中,修改:

INSTALLED_APPS = [
    ...
    'corsheaders', 
    ...
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    ...
]

CSRF_TRUSTED_ORIGINS = ['<域名>']
CSRF_COOKIE_DOMAIN = '<域名>'

其中,域名有无 https:// 均可

此外,在 <应用名>/views.py 中,修改:

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def login(request):
    ...

Django: no such table: django_session


运行:

python manage.py migrate

websocket fail


在 script 中,声明 WebSocket 时,注意 https 与 wss 对应,http 与 ws 对应:

const webSocket = new WebSocket(
            'wss://'
            + ...
        );

你可能感兴趣的:(Python,python,django,sqlite)