python - 如何在 django 中将特定模板添加到内置登录系统
问题描述
我找不到任何关于如何将我的登录页面的个人自定义模板添加到 django 中的内置登录系统的任何信息。我试图制作一个登录视图功能,可以将我的模板与登录系统连接起来,但这样我就无法使用 google 和 facebook 添加登录信息,因此我无法使用该功能,但使用这个分类基础从 django 查看我无法将我的个人模板添加到此类。有任何想法吗 ?
模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Login</title>
<link href="{% static 'vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
<link href="{% static 'css/sb-admin-2.min.css' %}" rel="stylesheet">
</head>
<body class="bg-gradient-primary">
<div class="container">
<div class="row justify-content-center">
<div class="col-xl-10 col-lg-12 col-md-9">
<div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body p-0">
<div class="row">
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
<div class="col-lg-6">
<div class="p-5">
<div class="text-center">
<h1 class="h4 text-gray-900 mb-4">Welcome Back!</h1>
</div>
<form class="user">
<div class="form-group">
<input type="email" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Enter Email Address...">
</div>
<div class="form-group">
<input type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password">
</div>
<div class="form-group">
<div class="custom-control custom-checkbox small">
<input type="checkbox" class="custom-control-input" id="customCheck">
<label class="custom-control-label" for="customCheck">Remember Me</label>
</div>
</div>
<a href="index.html" class="btn btn-primary btn-user btn-block">
Login
</a>
<hr>
<a href="index.html" class="btn btn-google btn-user btn-block">
<i class="fab fa-google fa-fw"></i> Login with Google
</a>
<a href="index.html" class="btn btn-facebook btn-user btn-block">
<i class="fab fa-facebook-f fa-fw"></i> Login with Facebook
</a>
</form>
<hr>
<div class="text-center">
<a class="small" href="forgot-password.html">Forgot Password?</a>
</div>
<div class="text-center">
<a class="small" href="{% url 'register' %}">Create an Account!</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
<script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
<script src="{% static 'vendor/jquery-easing/jquery.easing.min.js' %}"></script>
<script src="{% static '' %}js/sb-admin-2.min.js"></script>
</body>
</html>
和登录类:
[
path('accounts/', include('allauth.urls')),
path('login/', is_authenticated(views.LoginView.as_view(template_name='users/login.html', authentication_form=LoginForm)), name='login'),
]
解决方案
LoginView
您可以在自定义视图中传递默认值。允许您修改模板。
像这样:
from django.contrib.auth.views import LoginView
class CustomLoginView(LoginView):
template_name="<app_name>/login.html"
推荐阅读
- regex - 删除行尾字符的正则表达式
- swift - Swift:消失数组内容的神秘案例
- asynchronous - 如何在继续执行之前等待异步 chrome.storage.local.get() 完成
- python - Django:通过主页链接到新 URL 时找不到 404 URL
- reactjs - Hook 中不感兴趣的值会导致重新渲染
- javascript - 如何将标签或文本添加到动态添加的复选框?
- java - 使用 Maven 项目运行 JavaFX 时遇到问题
- python - 我不明白为什么这个函数总是返回 none
- javascript - 生成花哨/替代文本
- maven - 如何将附加参数从 maven build 传递到 npm