当前路径 accounts/home.html 与其中任何一个都不匹配

The current path, accounts/home.html, didn't match any of these

我一直在阅读文档并且已经回答了几个问题,但似乎没有任何效果,所以这里是问题。我从 django 开始,我无法摆脱以下错误:

Using the URLconf defined in alpha_trader.urls, Django tried these URL patterns, in this order:

__debug__/
[name='home']
accounts/update [name='user_change']
accounts/ login/ [name='login']
accounts/ logout/ [name='logout']
accounts/ password_change/ [name='password_change']
accounts/ password_change/done/ [name='password_change_done']
accounts/ password_reset/ [name='password_reset']
accounts/ password_reset/done/ [name='password_reset_done']
accounts/ reset/<uidb64>/<token>/ [name='password_reset_confirm']
accounts/ reset/done/ [name='password_reset_complete']
accounts/signup [name='user_signup']
The current path, accounts/update.html, didn't match any of these.

在此我的 settings.py:

# Custom Django auth settings

AUTH_USER_MODEL = 'accounts.User'

LOGIN_URL = 'login'

LOGOUT_URL = 'logout'

LOGIN_REDIRECT_URL = 'home'

LOGOUT_REDIRECT_URL = 'home'

特此urls.py:

from django.urls import include, path
from django.conf import settings

from accounts import views

urlpatterns = [
    path('', include('accounts.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/signup', views.SignUpView.as_view(), name='user_signup'),
]

特此accounts/urls.py:

from django.urls import include, path
from accounts import views

urlpatterns = [
    path('', views.home, name='home'),
    path('accounts/update', views.UserUpdateView.as_view(), name='user_change'),
]

特此accounts/views.py:

def home(request):
    if request.user.is_authenticated:
            return redirect('accounts/home.html')
    return render(request, 'accounts/home.html')

最后是 accounts/models.py:

from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils.html import escape, mark_safe


class User(AbstractUser):
    is_student = models.BooleanField(default=False)
    num_of_saved_backtests=models.IntegerField(default=0)
    num_of_online_indicators=models.IntegerField(default=0)

有人看到我的代码中的错误吗? 重要信息 我可以在未登录时使用主页。它不起作用,但我已设法以用户身份登录...

return redirect('accounts/home.html') 在这一行中,不要重定向到文件路径,而是可以使用 函数名 url 名称,取决于您要重定向到的视图。

return redirect('url_name') # or redirect('function_name')

另外,在条件相同的情况下不能重定向到相同的视图,这将归结为无限循环。