簡體   English   中英

Django 在 Azure 中部署到生產時重置密碼獲取服務器錯誤 500

[英]Django reset password get Server Error 500 when deployed to production in Azure

我正在嘗試使用 django.contrib.auth 在我的 Django 應用程序中實現重置密碼功能,如下所示:


from django.urls import path
from .import views
from django.contrib.auth import views as auth_views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.index, name='index'),
    path("login", views.login_view, name="login"),
    path("logout", views.logout_view, name="logout"),
    path('register', views.register, name='register'),
    path('admin_main', views.admin_main, name='admin_main'),
    path('admin_csv', views.admin_csv, name='admin_csv'),
    path('admin_pdf', views.admin_pdf, name='admin_pdf'),

    path('reset_password/', auth_views.PasswordResetView.as_view(), name="reset_password"),
    path('reset_password_sent/', auth_views.PasswordResetDoneView.as_view(), name="password_reset_done"),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name="password_reset_confirm"),
    path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(), name="password_reset_complete"),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在開發期間一切正常,但在生產(Azure App Service)中,當我引入 email 來重置密碼並提交表單時,我收到“服務器錯誤(500)”並且重置密碼郵件未發送,知道為什么這是?

此外,web 模塊中的 rest 在生產中正常工作,DEBUG 模式關閉並設置 ALLOWED_HOST。

SMTP配置如下:


#SMTP Configuration
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '******@gmail.com'
EMAIL_HOST_PASSWORD = '*******'

reset_password/是唯一返回 500 的端點嗎? 也許你必須設置ALLOW_HOSTS

我想我在這個鏈接https://accounts.google.com/DisplayUnlockCaptcha上找到了解決方案,然后單擊繼續。 之后它開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM