diff --git a/docker_env/django/Dockerfile b/docker_env/django/Dockerfile index d2f0f54..9ca8a18 100644 --- a/docker_env/django/Dockerfile +++ b/docker_env/django/Dockerfile @@ -12,6 +12,5 @@ WORKDIR /dvadmin-backend COPY ./dvadmin-backend/requirements.txt / COPY ./dvadmin-backend/conf/env.example.py /dvadmin-backend/conf/env.py RUN python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ -r /requirements.txt -RUN python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ uwsgi==2.0.19.1 CMD ["/dvadmin-backend/docker_start.sh"] # ENTRYPOINT [ "uwsgi --ini /backend/azcrm/uwsgi.ini" ] diff --git a/dvadmin-backend/application/asgi.py b/dvadmin-backend/application/asgi.py new file mode 100644 index 0000000..e97eafa --- /dev/null +++ b/dvadmin-backend/application/asgi.py @@ -0,0 +1,18 @@ +import os + +import django + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'application.settings') +django.setup() +from channels.auth import AuthMiddlewareStack +from channels.http import AsgiHandler +from channels.routing import ProtocolTypeRouter, URLRouter + +websocket_urlpatterns = [ +] + +application = ProtocolTypeRouter({ + "http": AsgiHandler(), + # Just HTTP for now. (We can add other protocols later.) + 'websocket': AuthMiddlewareStack(URLRouter(websocket_urlpatterns, )), +}) diff --git a/dvadmin-backend/apps/vadmin/utils/login.py b/dvadmin-backend/apps/vadmin/utils/login.py index 1b8b1bf..36cb50b 100644 --- a/dvadmin-backend/apps/vadmin/utils/login.py +++ b/dvadmin-backend/apps/vadmin/utils/login.py @@ -56,10 +56,12 @@ class LoginView(ObtainJSONWebToken): try: get_captcha = CaptchaStore.objects.get(hashkey=idKeyC) if str(get_captcha.response).lower() == idValueC.lower(): # 如果验证码匹配 + get_captcha.delete() return True except: pass else: + if get_captcha: get_captcha.delete() raise GenException(message='验证码错误') def save_login_infor(self, request, msg='', status=True, session_id=''): diff --git a/dvadmin-backend/docker_start.sh b/dvadmin-backend/docker_start.sh index 58bc7b4..a1b88c8 100755 --- a/dvadmin-backend/docker_start.sh +++ b/dvadmin-backend/docker_start.sh @@ -6,9 +6,10 @@ python ./manage.py makemigrations python ./manage.py migrate #python ./manage.py initialization #python ./manage.py runserver 0.0.0.0:8000 -uwsgi --ini application/uwsgi.ini +#uwsgi --ini application/uwsgi.ini #if [[ $ENV == "preprod" ]] || [[ $ENV == "prod" ]]; then # uwsgi --ini azcrm/uwsgi.ini #else +daphne -b 0.0.0.0 -p 8000 application.asgi:application # python ./manage.py runserver 0.0.0.0:8000 #fi diff --git a/dvadmin-backend/requirements.txt b/dvadmin-backend/requirements.txt index d262086..596bc01 100644 --- a/dvadmin-backend/requirements.txt +++ b/dvadmin-backend/requirements.txt @@ -27,4 +27,7 @@ coreapi==2.3.3 user-agents==2.2.0 eventlet==0.30.2 psutil==5.8.0 -drf-yasg ==1.20.0 +drf-yasg==1.20.0 +daphne==3.0.2 +channels==3.0.3 +channels-redis==3.2.0