当前路径 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')
另外,在条件相同的情况下不能重定向到相同的视图,这将归结为无限循环。
我一直在阅读文档并且已经回答了几个问题,但似乎没有任何效果,所以这里是问题。我从 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')
另外,在条件相同的情况下不能重定向到相同的视图,这将归结为无限循环。