2016-09-03 4 views
0

사용자 등록과 로그인을 위해 장고 등록 (the app, HMAC)을 사용했습니다. 모든 것이 잘 작동하지만,/accounts/login/대신에 http://localhost:8000/에 로그인 폼을 갖고 싶습니다. 이것을 달성하는 가장 깨끗한 방법은 무엇입니까?장고 등록 사용자 정의 URL

login.html의 양식을 기본 페이지의보기를 제공하는 index.html 파일로 복사 할 때 (분명히 (?)) 작동하지 않습니다. 나는 장고 1.9.6과 장고 등록 2.1을 사용하고있다. docs에 따라 필요하지 않았기 때문에 setting.py 파일의 INSTALLED_APPS에 'registration'이 없습니다.

이 내 login.html 파일입니다

{% extends "mysite/base.html" %} 
{% load i18n %} 

{% block content %} 
<form method="post" action="."> 
    {% csrf_token %} 
    {{ form.as_p }} 

    <input type="submit" value="{% trans 'Log in' %}" /> 
    <input type="hidden" name="next" value="{{next}}" /> 
</form> 

<p>{% trans "Forgot password" %}? <a href="{% url 'auth_password_reset' %}">{% trans "Reset it" %}</a>!</p> 
<p>{% trans "Not member" %}? <a href="{% url 'registration_register' %}">{% trans "Register" %}</a>!</p> 
{% endblock %} 

그리고 내 urls.py 파일 :

from django.conf.urls import include, url 
from django.contrib import admin 
from . import views 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', views.index, name='index'), 
    url(r'^accounts/', include('registration.backends.hmac.urls')), 
    url(r'^groups/', include('groups.urls')), #my own app 
] 

답변

0

이 그것을 할 수있는 몇 가지 방법을 Theres는, 그것은 정말 당신이 걱정하는 여부에 따라 달라집니다 리디렉션 및 URL 구조 구성 방법에 대해 알아보십시오.

나는 같은 것을 할 것입니다 : django.conf.urls에서

는에서 django.contrib 수입 관리자 에서 URL 을 포함 가져옵니다. 수입 전망 형태 registration.backends.hmac.views 수입 로그인

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', views.index, name='index'), 
    url(r'^accounts/login$', RedirectView.as_view(url='/login'), name='got-to-lgoin') # You have several options for this, see below 
    url(r'^accounts/', include('registration.backends.hmac.urls')), 
    url(r'^login/$, login, name='login'), 
    url(r'^groups/', include('groups.urls')), #my own app 
] 

이제 두 번째 로그인 URL에 따라, 당신은 로그인 /로 리디렉션을 변경합니다 hmac.urls에서 제거 새 사용자 정의 할 수 있습니다 urls 파일을 만들고 포함 시키거나 내가 한 일을하고 리디렉션 뷰를 추가하면됩니다.

나는 개인적인 취향이라고 말했어. youre가 단지/login과/logout 이외의 다른 url을 위해 그것을하려고한다면, 나는 별개의 urls.py 파일을 만들고 그것을 포함시킬 것이다. 깨끗해.

희망이 도움이됩니다.

+0

고맙습니다. 그러나 그것은 작동하지 않습니다. importError : "registration.backends.hmac.views import login'에서"name login을 가져올 수 없습니다 "를 제공합니다. 거기에는 [등록보기 및 활성화보기] (https://django-registration.readthedocs.io/en/latest/hmac.html#views)보기가 두 개인 것으로 보입니다. 이 문제를 해결하기 위해 무엇을 제안 하시겠습니까? –