2014-12-11 7 views
2

프로젝트에 Django-Registration-Redux 앱을 설치하고 기본 1 단계 등록 백엔드를 설정했으며 지금까지 작동했습니다. 이제 비밀번호 변경 메커니즘을 추가하여 앱의 기능을 확장하고 싶습니다. 내가 볼 수있는 아이디어 나 링크. 사전에비밀번호 재설정 기능 Django-Registration-Redux 앱

감사

PD는 : 장고 등록-REDUX 문서는이 주제와 관련이 없습니다.

답변

4

이 링크가 유용 할 수 있음 : https://github.com/django/django/blob/master/django/contrib/auth/urls.py https://github.com/django/django/blob/master/django/contrib/auth/views.py 그리고 그래서 세 번째 링크가 너무 GitHub의에 2 개 이상의 링크를 게시하려면 적어도 10 reputatuion 필요합니다 /장고/장고/트리/마스터/django/contrib/admin/templates/registration

+0

몇 가지 코드 예제를 확인했습니다. 감사합니다. –

4

django-registration-redux도 암호 변경 기능을 지원합니다. 비밀번호 변경의 경우 URL은 http://your-port-number/accounts/password/change입니다. localhost에 http://your-port-address/accounts/을 입력하면 화면에 url 매핑과 관련된 모든 정보가 표시됩니다. 이러한 URL 매핑을 사용하여 특정 HTML 템플릿을 작성하여 앱에서 직접 사용할 수 있습니다. 등록 템플릿을 찾을 수 있습니다 here 희망이 도움이됩니다.

0

레이프 Azzopardi과 데이비드 맥스웰에 의해 '장고와 탱고'책 장이 장에 대해 자세히 설명 (11)의 '장고 - 등록 - 돌아 오는 응용 프로그램'을 사용하여 좋은 예제를 포함 - 프로세스가 설치/설정을합니다 이 모듈 및 구성 설정,보기 & URL 패턴을 명확하고 간결한 방식으로.

이 책에 따르면 모듈 'Django-Registration-Redux'는 노출하는 URL에 대한 템플릿을 제공하지 않습니다. 이러한 템플리트는 수동으로 작성해야합니다 (). 이러한 템플리트는 응용 프로그램마다 다를 수 있으므로입니다. (이 템플릿 파일을 저장하려면 프로젝트 템플릿 디렉토리에 registration이라는 디렉토리를 만들어야합니다.)Anders Hofstee's Templates을 참조하여 템플릿을 직접 작성하십시오.

# <my_django_project_directory>/templates/accounts/password_change_form.html 

{% extends "<my_app_name>/base.html" %} 
{% block body_block %} 
    <h1>Change your password</h1> 
    <form method="post" action="."> 
    {% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Submit" /> 
    </form> 
{% endblock %} 

프로젝트의 settings.py에서 모듈을 구성한 가정 할 때, 당신은 당신의 프로젝트의 urls.py 파일 -

에있는 url_patterns 목록에서 다음 URL을 포함해야한다 : 다음과 같이 광산 (자신의 템플릿을 기반으로)입니다
url(r'^accounts/', include('registration.backends.simple.urls')), 

이전 답변에서 설명한 것처럼 로그인 한 사용자의 암호를 변경하는 URL은 http://<projects_root_url>/accounts/password/change입니다. 메뉴 항목을 업데이트하여이 URL을 로그인 한 사용자에게 제공해야 액세스 할 수 있습니다. 이 책의 예제를 계속 사용하면서 기본 템플릿을 업데이트하여 비밀번호 변경 URL을 노출했습니다. 다음 코드를 고려하십시오.

# <my_django_project_directory>/templates/<my_app_name>/base.html 
{% if user.is_authenticated %} 
    <li><a href="{% url 'auth_logout' %}?next=/rango/">Logout</a></li> 
    <li><a href="/accounts/password/change/">Change Password</a></li> 
{% else %} 
    <li><a href="{% url 'auth_login' %}">Login</a></li> 
    <li><a href="{% url 'registration_register' %}">Sign Up</a></li> 
{% endif %} 

이 정보가 도움이되기를 바랍니다. 그렇지 않다면 나는 위에서 언급 한 책을 읽는 것이 좋습니다! 쉬운 예제, 지시 사항을 이해하기 쉽고, 가장 중요한 것은 모든 구성에 많은 노력을 기울이지 않고도 예제가 작동한다는 것입니다.

참고 : 책 예제는 django 버전 1.9를 기반으로합니다. 내 OS는 우분투 16.04이고 파이썬 버전은 3.5.2이다. My repository 책의 실제 예가 들어 있습니다.