0

최근 내 프로젝트에서 django-rest-framework을 사용하기 시작했고 문제가 발생했습니다.Django-rest-framework : 기본 형식 유효성 재 작성

<form action="{% url 'rest_framework:login' %}" method="post"> 
    {% csrf_token %} 
    <input type="e-mail" name="username" value="" placeholder="Логин" maxlength="100" required="required"> 
    <input type="password" name="password" value="" placeholder="Пароль" maxlength="100" required="required"> 
    <button type="submit" class="lightbluebtn">Войти</button> 
</form> 

정말 그것을 확인하는 방법을 알아낼 수 없습니다 여기에 내가 가진 간단한 인증 양식입니다. 오류가 폼에 표시되어야합니다. 잘못된 데이터가 포함 된 양식을 제출할 때마다 나머지 프레임 워크 로그인 페이지로 리디렉션되었습니다. 또한 내가 장고 - 나머지 프레임 워크 한 기본 URL을 :

url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), 

장고의 기본 형태와 함께 사용할 수있는 방법이 있습니까?

내가 고칠 수 있습니까? 도움을 주셔서 감사드립니다.

답변

2

session authentication을 사용하는 경우 rest_framework 로그인 페이지가 필요하지 않습니다.이 페이지는 일반적으로 dev 환경에서 유용하며 {% url 'login' %} 페이지 (django.contrib.auth를 사용하는 페이지)를 가리킬 수 있습니다. 단지 예를 들어 같은 {{ form.error }} 사용)보기를 .views.login 및 양식 오류를 출력, 당신에게 registration/login.html 이름을 지정하여 해당 템플릿을 오버라이드 (override) :

{# file registration/login.html #} 
{% if form.errors %} 
<div class="alert alert-danger"> 
    <p>Your email and password didn't match. Please try again.</p> 
</div> 
{% endif %} 
<form action="{% url 'login' %}" method="post"> 
{% csrf_token %} 
    <input type="e-mail" name="username" value="" placeholder="Логин" maxlength="100" required="required"> 
    <input type="password" name="password" value="" placeholder="Пароль" maxlength="100" required="required"> 
    <button type="submit" class="lightbluebtn">Войти</button> 
</form> 
+0

감사합니다 많이! 불행히도 "TypeError login()은 정확히 2 개의 인수 (주어진 1 개)를 사용합니다."라는 오류가 발생했습니다. –

+1

@ stk-13 올바른 경로는 'django.contrib.auth.views.login'입니다. 인용하고있는 경로가 해당보기에 의해 호출됩니다. – DRC

+0

감사합니다. –