URl Django 2 中的重定向问题
URl redirection issue in Django 2
我是 Django 的新手,正在尝试构建具有以下结构的 Web 应用程序。我需要你的帮助来了解我做错了什么。
应用程序的流程是shadesProductUploader.urls will forward '' to authSection for login 并且在用户成功登录后应该重定向到 mainSection 'home/'.
Urls.py 个文件是
shadesProductUploader.urls
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('authSection.urls')),
]
authSection.urls
from django.contrib import admin
from django.urls import path, include
from . import views
app_name = 'authSection'
urlpatterns = [
path('', views.login_view, name='login'),
]
mainSection.urls
from django.contrib import admin
from django.urls import path,include
from . import views
app_name = 'mainSection'
urlpatterns = [
path('home/', views.home),
]
和 authSection
中的 view.py
def login_view(request):
next = request.GET.get('next')
form = userLoginForm(request.POST or None)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username,password=password)
login(request,user)
if next:
return redirect(next)
context={'user':user}
return redirect('home/')
return render(request, 'login.html', {'form': form})
成功登录后出现此错误。
我错过了什么?不知道为什么我看到 Url 的家/家/
像这样更新 shadesProductUploader
的主要部分 url:
urlpatterns = [
path('',include('mainSection.urls')),
... # other urls
]
并在 mainSection urls 中更改如下:
urlpatterns = [
path('home/', views.home, name="home"), # <-- added name here
]
在视图中,像这样使用它:
if next:
return redirect(next)
context={'user':user}
return redirect(reverse('home'))
在这里,我们有 named our url as home
. And we got the url using reverse。
我是 Django 的新手,正在尝试构建具有以下结构的 Web 应用程序。我需要你的帮助来了解我做错了什么。
应用程序的流程是shadesProductUploader.urls will forward '' to authSection for login 并且在用户成功登录后应该重定向到 mainSection 'home/'.
Urls.py 个文件是
shadesProductUploader.urls
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('authSection.urls')),
]
authSection.urls
from django.contrib import admin
from django.urls import path, include
from . import views
app_name = 'authSection'
urlpatterns = [
path('', views.login_view, name='login'),
]
mainSection.urls
from django.contrib import admin
from django.urls import path,include
from . import views
app_name = 'mainSection'
urlpatterns = [
path('home/', views.home),
]
和 authSection
中的 view.pydef login_view(request):
next = request.GET.get('next')
form = userLoginForm(request.POST or None)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username=username,password=password)
login(request,user)
if next:
return redirect(next)
context={'user':user}
return redirect('home/')
return render(request, 'login.html', {'form': form})
成功登录后出现此错误。
我错过了什么?不知道为什么我看到 Url 的家/家/
像这样更新 shadesProductUploader
的主要部分 url:
urlpatterns = [
path('',include('mainSection.urls')),
... # other urls
]
并在 mainSection urls 中更改如下:
urlpatterns = [
path('home/', views.home, name="home"), # <-- added name here
]
在视图中,像这样使用它:
if next:
return redirect(next)
context={'user':user}
return redirect(reverse('home'))
在这里,我们有 named our url as home
. And we got the url using reverse。