Django Rest Framework Password Rest Confirm Email not showing Form and return as none

问题描述 投票:0回答:0

在我的 Django Rest Framework 中,用户请求重置密码,当收到电子邮件并单击链接时,url password-reset-confirm/<uidb64>/<token>/ 按照要求出现,但表格没有显示,当我将其添加为 {{ form }} 时显示为 NONE

当我在 Django 上执行所有操作时,密码重置过程运行良好,但如果我尝试从 Django 重置密码 Rest Framework 表单不会出现。

这里是主要的urls.py

urlpatterns = [
    path('', include('django.contrib.auth.urls')),
    path('password-reset/', auth_views.PasswordResetView.as_view(template_name='users/password_reset.html', success_url=reverse_lazy('password_reset_done')), name='password_reset'),
    path('password-reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='users/password_reset_done.html'), name='password_reset_done'),
    path('password-reset-confirm/<uidb64>/<token>/',auth_views.PasswordResetConfirmView.as_view(template_name='users/password_reset_confirm.html'),name='password_reset_confirm',),
    path('password-reset-complete/', auth_views.PasswordResetCompleteView.as_view(template_name='users/password_reset_complete.html'), name='password_reset_complete'),
    path('admin/', admin.site.urls),
    path('api/', include('api.urls'), ),
    path('users/', include('users.urls'), ),
]

这里是DRF相关的API app urls.py

app_name = 'api'

router = routers.DefaultRouter()
router.register(r'users', UserViewSet, basename='user')

urlpatterns = [
    path('', include(router.urls)),
    path('dj-rest-auth/', include('dj_rest_auth.urls')),
    path('dj-rest-auth/registration/', include('dj_rest_auth.registration.urls')),
    path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
]

这里是模板password_reset_confirm.html

<main class="mt-5" >
            <div class="container dark-grey-text mt-5">
                <div class="content-section">
                    <form method="POST">
                        {% csrf_token %}
                        <fieldset class="form-group">
                            <legend class="border-bottom mb-4">Reset Password</legend>
                            {{ form|crispy }}
                            {{ form }}

                        </fieldset>
                        <div class="form-group">
                            <button class="btn btn-outline-info" type="submit">Reset Password</button>
                        </div>
                    </form>
                </div>
            </div>
        </main>

我的问题是:为什么表格显示为 NONE,我该如何解决。

python django django-rest-framework django-rest-auth
© www.soinside.com 2019 - 2024. All rights reserved.