|
|
|
|
@ -0,0 +1,52 @@
|
|
|
|
|
//这个文件是用于实现用户登录页面
|
|
|
|
|
{% extends 'share_layout/base_account.html' %}//继承基础模板:使用一个共享的账户布局模板,确保所有账户相关页面(登录、注册、密码重置)保持一致的样式和布局
|
|
|
|
|
{% load static %}//加载静态文件
|
|
|
|
|
{% load i18n %}//加载国际化系统,支持多语言
|
|
|
|
|
{% block content %}//定义内容块
|
|
|
|
|
<div class="container">//主容器
|
|
|
|
|
//页面标题
|
|
|
|
|
<h2 class="form-signin-heading text-center">Sign in with your Account</h2>//显示登录页面的主标题
|
|
|
|
|
//登录卡片区域
|
|
|
|
|
<div class="card card-signin">//创建一个卡片式登录框
|
|
|
|
|
<img class="img-circle profile-img" src="{% static 'blog/img/avatar.png' %}" alt="">//显示默认用户头像图片
|
|
|
|
|
//登录表单
|
|
|
|
|
<form class="form-signin" action="{% url 'account:login' %}" method="post">//表单提交到account:login这个URL,使用POST方法提交数据
|
|
|
|
|
//表单包含的元素:
|
|
|
|
|
{% csrf_token %}//防止跨站请求伪造攻击
|
|
|
|
|
//错误显示:
|
|
|
|
|
{{ form.non_field_errors }}//显示整体表单错误
|
|
|
|
|
{% for field in form %}
|
|
|
|
|
{{ field }}//自动渲染每个字段
|
|
|
|
|
{{ field.errors }}//显示字段特定错误
|
|
|
|
|
{% endfor %}
|
|
|
|
|
//重定向隐藏字段:
|
|
|
|
|
<input type="hidden" name="next" value="{{ redirect_to }}">//当用户尝试访问需要登录的页面时,系统会先跳转到登录页,登录成功后自动跳回原来想访问的页面
|
|
|
|
|
//登录按钮:
|
|
|
|
|
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
|
|
|
|
|
//记住我的选项:
|
|
|
|
|
<div class="checkbox">
|
|
|
|
|
{% comment %}<a class="pull-right">Need help?</a>{% endcomment %}
|
|
|
|
|
<label>
|
|
|
|
|
<input type="checkbox" value="remember-me" name="remember"> Stay signed in//让用户选择是否保持登录状态
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
//第三方登录:
|
|
|
|
|
{% load oauth_tags %}//加载第三方OAuth登录功能(如微信、微博、GitHub、Google等)
|
|
|
|
|
{% load_oauth_applications request%}//用户可以使用其他平台的账号快速登录
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
//底部导航链接:
|
|
|
|
|
<p class="text-center">
|
|
|
|
|
<a href="{% url "account:register" %}">//注册页面链接,注册新账户
|
|
|
|
|
{% trans 'Create Account' %}//多语言翻译的"创建账户"
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
<a href="/">Home Page</a>//首页链接,返回网站首页
|
|
|
|
|
|
|
|
|
|
|
<a href="{% url "account:forget_password" %}">//忘记密码页面链接 "
|
|
|
|
|
{% trans 'Forget Password' %}多语言翻译的"忘记密码"
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
</div> <!-- /container -->
|
|
|
|
|
{% endblock %}
|