长江三角洲城市群数据平台(3)-注册、登陆、注销

Django的注册、登陆、注销可以有三种方式。
1.自己新建模型,直接构造user模型,灵活性更强,但是需要编写代码的工作量大。
2.利用django.contrib.auth.model的User模型进行扩展,表单对应于模型,处理提交数据。
3.利用第三方注册应用。

这里主要采用第三种方法。
1.下载django-registration-redux。

Paste_Image.png

2.yzdelt的setting.py里的installed_apps添加registration,并设置相应参数。

Paste_Image.png
Paste_Image.png

3.在同级目录的urls.py中导入registration、模块,添加路由规则。

Paste_Image.png

4.进行数据库的makemigrations和migrate。

Paste_Image.png

5.编写登陆页面的模版。

Paste_Image.png

6.进行登陆,会出现编码问题。确保各处编码为utf-8。

        数据库初始化设置为utf-8
Paste_Image.png
Paste_Image.png
        setting.py中设置编码参数
Paste_Image.png
Paste_Image.png
      各个.py文件最好加上#coding=utf8
Paste_Image.png
      最后设置数据库表格编码为utf8

7.注册页面的模板

Paste_Image.png

8.在基础模板中添加,jquery-validate用于验证。

Paste_Image.png

在js/validate和js/validate2中编写验证代码,注册模块所需的js/validate2编写如下,登陆的js/validate2类似

Paste_Image.png

尤其需要注意,注册验证的字段要与user模型中的字段名一致,登陆不需要更改。

9注销和登陆成功页面。

{% extends "base.html" %}

{% block main %}

<h1>注销</h1>

        <p>欢迎下次访问!</p>

{% endblock %}
{% extends "base.html" %}

{% block main %}

    <br/>

    <br/>

<h1>注册完成</h1>

        <p>You are now
registered</p>

{% endblock %}

10.在基础模板设置,各个模板的入口。



<ul class="nav navbar-nav ul-right">

                    
<li><a href="{% url 'registration_register' %}">注册</a></li>

                    {% if user.is_authenticated %}

                    <li><a href="{% url 'auth_logout' %}?next=/yz_delt/">注销</a> <p style="color:white;display:inline;">{{
user.username }},欢迎访问</p></li>

                       
                   <li><a href="{% url 'upload' %}">数据上传</a></li>

                    {% else %}

                    
<li><a href="{% url 'auth_login' %}">登录</a> <p style="color:white;display:inline;">欢迎访问</p></li>

           {% endif%}

11.为了使注册成功后,回到主页,重写方法。

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容