在我的django项目中,尝试登录页面而不是登录时,我仍然在主页上。我没有出现错误,正在进入登录页面,但主页再次出现
settings.py:
`STATIC_URL = '/static/'
LOGIN_URLS = '/account/login/'
LOGIN_REDIRECT_URL = '/account/'
LOGIN_EXEMPT_URLS = (
'account/login',
'account/logout',
'account/signup'
)
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025`
urls.py:
`from django.contrib import admin
from django.urls import path, include
from .views import login_redirect
urlpatterns = [
path('', login_redirect, name='login_redirect'),
path('', include('django.contrib.auth.urls')),
path('admin/', admin.site.urls),
path('account/', include('accounts.urls')),
]
`
view.py:
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm,
UserChangeForm, PasswordChangeForm
from django.contrib.auth import login, authenticate
from .forms import RegistrationForm, EditProfileForm
from django.contrib.auth.models import User
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.decorators import login_required
@login_required
def home(request):
return render(request, 'accounts/home.html')
def signup(request):
if request.method == 'POST':
form = UserChangeForm(request.POST, instance=request.user)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username,
password=raw_password)
login(request, user)
return redirect('/account')
else:
form = UserChangeForm()
return render(request, 'accounts/signup.html', {'form': form})
有什么主意吗?