Осуществляет ли PasswordResetConfirmView.py автоматическое заполнение uid и token?

На моей стороне представление определенно не заполняется, но password_reset_confirm.html в папке демо-шаблона, похоже, делает это.

password_reset_confirm_form.html

Любая помощь приветствуется.

image

url.py

    path("dj-rest-auth/password/reset/confirm/<str:uid>/<str:token>/",
        # TemplateView.as_view(template_name="password_reset_confirm.html"),
        PasswordResetConfirmView.as_view(),
         name='resend-email-verification'
    ),  

edit: возможно, эта страница здесь не та же самая страница в папке dj-rest-auth demo...

В django он определяется как (в коде django):

urls.py

path('reset/<uidb64>/<token>/',views.PasswordResetConfirmView.as_view(),name='password_reset_confirm'),
path('reset/done/',views.PasswordResetCompleteView.as_view(),name='password_reset_complete')
<<<Затем вы можете настроить его в соответствии с вашими потребностями и переопределить, унаследовав его от вашего собственного

файла.views.py

Приветствуем пользователя GitHub, riteshbisht.

То, что я вижу, это UI просматриваемого API фреймворка django rest, который не имеет этой функциональности для чтения url и заполнения поля формы, пока я не скажу ему об этом.

Для этого я создал файл templates/rest_framework/api.html и вставил в него следующий код:

api.html


{% extends "rest_framework/base.html" %}

{% block style %}
   {{ block.super }}
       <style>
           #btn-link {
               border: none;
               outline: none;
               background: none;
               display: block;
               padding: 3px 20px;
               clear: both;
               font-weight: 400;
               line-height: 1.42857143;
               color: #A30000;
               white-space: nowrap;
               width: 100%;
               text-align: left;
           }
           #btn-link:hover {
               background: #EEEEEE;
               color: #C20000;
           }
       </style>
{% endblock %}

{% block userlinks %}
   {% if user.is_authenticated or response.data.access_token %}
       <li class="dropdown">
           <a href="#" class="dropdown-toggle" data-toggle="dropdown">
               {% firstof user.username 'Registered' %}
               <b class="caret"></b>
           </a>
           <ul class="dropdown-menu dropdown-menu-right">
               {% url 'rest_user_details' as user_url %}
               <li><a href="{{ user_url }}">User</a></li>
               <li>
                   {% url 'rest_logout' as logout_url %}
                   <form action="{{ logout_url }}" method="post">
                       {% csrf_token %}
                       <button type="submit" id="btn-link">Logout</button>
                   </form>
               </li>
           </ul>
       </li>
   {% else %}
       {% url 'rest_login' as login_url %}
       <li><a href="{{ login_url }}">Login</a></li>
       {% url 'rest_register' as register_url %}
       <li><a href="{{ register_url }}">Register</a></li>
   {% endif %}
{% endblock %}


{% block script %}
   {{block.super}}
   <script type="text/javascript">
       var url_elements = window.location.pathname.split('/');
       if (url_elements.length >= 3){
           var uid = url_elements[url_elements.length - 3];
           if (uid !== undefined){
               $('input[name=uid]').val(uid);
           }
           var token = url_elements[url_elements.length - 2];
           if (token !== undefined){
               $('input[name=token]').val(token);
           }
       }
   </script>
{% endblock %}
Вернуться на верх