【发布时间】:2021-10-04 21:15:54
【问题描述】:
我想在登录后将超级用户发送到仪表板(主页)。但是普通用户会重定向到商店页面,我该怎么做呢?
这是我在 views.py 文件中使用的逻辑,所以我需要做哪些更改?
views.py
@unauthenticated_user
def loginPage(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username = username, password = password)
if user is not None:
login(request, user)
return redirect('store')
else:
messages.info(request, 'Username OR Password is incorrect')
context = {}
return render(request, 'store/login.html', context)
urls.py
urlpatterns = [
path('register/', views.registerPage, name="register"),
path('login/', views.loginPage, name="login"),
path('logout/', views.logoutUser, name="logout"),
path('dashboard/', views.home, name='dashboard'),
path('products/', views.products, name='products'),
path('customer/<str:pk>/', views.customer, name='customer'),
path('profile/', views.profilePage, name="profile"),
path('cart/', views.cart, name='cart'),
path('checkout/', views.checkout, name='checkout'),
path('', views.store, name='store'),
path('update_item/', views.updateItem, name='update_item'),
path('process_order/', views.processOrder, name='process_order'),
]
【问题讨论】:
标签: python django redirect django-views django-templates