如何使用Django、HTML根据用户的登录凭据将用户重定向到特定页面?
我正在尝试对Django网站进行编程,根据用户的登录凭据将用户重定向到自定义HTML页面。例如,我的第一个用户具有凭据-user=user1 pass=password1。我为他创建了一个单独的user1.html页面,所以当user1输入他的登录信息并按下login时,他会自动重定向到user1.html。当user2登录时,他将被重定向到user2.html等。我如何以基本且不复杂的方式启用它?我将在一个小的演示会话中使用它,因此,在这种情况下,代码安全性等并不重要如何使用Django、HTML根据用户的登录凭据将用户重定向到特定页面?,django,Django,我正在尝试对Django网站进行编程,根据用户的登录凭据将用户重定向到自定义HTML页面。例如,我的第一个用户具有凭据-user=user1 pass=password1。我为他创建了一个单独的user1.html页面,所以当user1输入他的登录信息并按下login时,他会自动重定向到user1.html。当user2登录时,他将被重定向到user2.html等。我如何以基本且不复杂的方式启用它?我将在一个小的演示会话中使用它,因此,在这种情况下,代码安全性等并不重要 <!DOC
<!DOCTYPE html>
<html>
<head>
<title> XXXTechnologies </title>
</head>
<body>
<form>
<input type="button" value="Back" onclick="history.back()">
<p> User Login Form </p>
Username: <input id="username" type="text" name="username" >
<br>
Password: <input id="password" type="password" name="password" >
<br><br>
<input type="submit" name="Login" value="Login">
</form>
</body>
</html>
myproject URL.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('loginpage.urls')),
loginpage url.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.index, name='loginpage'),
loginpage views.py
from django.shortcuts import render
from django.http import HttpResponse
from loginpage.models import customerlogin
def userview(request):
if request.customerlogin.username == 'user1':
return render(request, 'user1slug.html', {})
elif request.cuatomerlogin.username == 'user2':
return render(request, 'user2slug.html', {})
else:
return render(request, 'default.html', {})
def index(request):
return render(request, 'login.html')
动态重定向,您可以在登录视图中执行,如下所示
def login(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request,user)
return redirect('redirect_page')
else:
return redirect('login')
else:
return render(request, 'account/login.html')
在重定向页面中,您可以从后端获取动态数据。例如,如果它是一个配置文件页面,您可以将视图筛选为request.user,并将内容显示给登录的用户。在您的views.py中,您可以编写如下代码:
def userview(request):
if request.user.username == 'user1':
return render(request, 'user1.html', {})
elif request.user.username == 'user2':
return render(request, 'user2.html', {})
else:
return render(request, 'default.html', {})
我尝试过这种方法,但我的登录页面没有重定向到其他页面。“用户”和“密码”字段变为空白,链接如下所示。我将附加我的项目和应用程序的url.py文件以及应用程序的views.py文件。我真的很感激你的帮助;我已经尝试过这个解决方案,我遇到了与上面解决方案相同的问题。链接更改为,用户、密码字段变为空白。没有别的事情发生
def userview(request):
if request.user.username == 'user1':
return render(request, 'user1.html', {})
elif request.user.username == 'user2':
return render(request, 'user2.html', {})
else:
return render(request, 'default.html', {})