我想创建自己的模板供Admin登录。因此,我以与用户登录完全相同的方式创建了视图函数。但这没有用。因此,我认为我的视图功能不正确,应该使用“用户”或“用户”从数据库中提取信息。我想我搞砸了。
我从控制台通过超级用户命令创建了admin,(admin的)用户名和密码存储在auth_user中。我不知道该如何访问。
下面是我的adminLogin模板-
{% extends 'basen.html' %}
{% block body_block %}
<form method="POST" action="{% url 'admin_Login' %}">
{% csrf_token %}
<label for="username" >AdminName</label>
<input type="text" placeholder="Admin Name">
<label for="password">Admin Password</label>
<input type="password" placeholder="Password">
<input type="submit" value="LOGIN">
</form>
{% endblock %}
下面是我的查看功能-
def adminLogin(request):
if request.method=='POST':
username = request.POST.get('username')
password = request.POST.get('password')
admin = authenticate(username=username, password=password)
if admin:
if admin.is_active and admin.is_superuser:
login(request, admin)
return HttpResponseRedirect(reverse('index'))
else:
return HttpResponse("Your Account was inactive")
else:
print("Someone tried to login and failed.")
print("They used username: {} and password: {}".format(username,password))
return HttpResponse("Invalid login details given")
else:
return render(request, 'adminlogin.html')
下面是我在项目根文件夹中的urls.py-
urlpatterns = [
# path('admin/', admin.site.urls)
# I added
path('admin/login', views.adminLogin, name="admin_Login"),