django-allauth 是一个强大的能够解决你的注册和认证需求的 Django 应用。无论你需要构建本地注册系统还是社交账户注册系统,django-allauth 都能够帮你做到。然而django-allauth自带的模板和用户界面是没有经过美化的,非常简陋(如下图所示)。另外涉及邮箱验证的电子邮件和各种消息也是固定的,你需要学会修改它们才能真正将django-allauth为己所用。本文将教你如何美化django-allauth的模板(尤其是注册与登录表单),以及修改邮件和消息文本内容。
本文是django-allauth教程的最后一部分,前三部分已完结。
-
安装与基本使用(注册,登录) - 已完结
-
用户资料扩展及修改 - 已完结
-
实现第三方auth登录 - 已完结
-
美化登录与注册表单
本文参考了下文《如何手动渲染Django表单》
https://simpleisbetterthancomplex.com/article/2017/08/19/how-to-render-django-form-manually.html
下载django-allauth模板和邮件文本文件
如果你要修改django-allauth的模板和邮件文本,你必需先要知道它们的位置。如果你是通过pip安装的django-allauth,你将不会在你的项目文件夹mysite下找到allauth的templates文件夹。此时你需要从github上将allauth的/templates/accounts/文件夹整个拷贝到你的本地应用中去(下载地址: https://github.com/pennersr/django-allauth/tree/master/allauth)。
假如你的应用名字叫myaccount,新的templates/accounts/文件夹位置应该是myaccount/templates/accounts/(如下图所示)。这是因为django-allauth总是会在templates/accounts/文件夹中寻找模板。文件夹中不仅包括了各种html模板(都继承了base.html),还包括了messages和email文本文件。
下载好上述文件后,你就可以开始动手改了。由于修改txt格式的email和message文本非常直接,我们这里就不细讲了。我们重点放在美化html模板,让其更漂亮专业。
使用bootstrap美化表单,修改base.html
不管是注册,登录还是重置密码页面,html模板主要内容都是表单。我们将使用bootstrap迅速美化模板和表单。最快速的方式就是修改base.html(如果没有该文件,你需要创建一个),加入boostrap样