Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录

该ERP系统将划为公司内网的一部分,目前的注册登录系统较为简陋,没有划分权限,仅起到识别用户,会话控制,日志记录等功能.

1.功能

-当首次访问页面时,会提示未登录

-点击注册,进入注册页面(因为没有封闭外网访问,所以加入公司口令筛选)

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第1张图片

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第2张图片

-注册完毕后即可登录(后期考虑加入管理员验证通过功能)

-登录成功可以使用网站功能

2.后台设计

主要包括:

       -在models.py中创建数据模型

       -在forms.py中创建表单

       -在views.py中使用POST获取表单信息并验证

       -在html中创建前端显示的内容和格式

      

(1)models.py

-数据模型记录员工的姓名,密码,性别,邮箱和创建时间

-性别必须从gender选项中获取

-CharField类型必须有max_length属性,不一定要unique,因为存在重名

-创建时间采用DateTimeField,采用自动获取

-__str__是构造函数,设定调用该model时返回的值

-class Meta设定了元数据,这里仅定义按照创建时间排序,以及单复数显示.

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第3张图片

(2)forms.py

-如果想在编写前端和views逻辑时省事,可以创建form类,便于调用和数据清洗

-如果希望更加灵活,可以不使用form,而是每条信息单独设定

-captcha是验证码模块,后期觉得麻烦就注释掉了

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第4张图片

(3)register.html

-extends指从base.html获取统一的header,footer,js插件等.

-在{% block content%}  {% endblock %}中填写要显示的内容

-前两个

描述了使用bootstrap约定的格式

-

中action描述跳转页面,method描述提交数据的方法

-{{message}}是views.register提供的通知信息

-{% csrf token%}是用来跨页面访问的session会话控制

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第5张图片

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第6张图片

(4)views.register

-首先在urls.py中将url地址与views函数关联起来:

urlpatterns = [

    url(r'^login/', views.login),

url(r'^register/', views.register),

…]

-views.py中的注册函数:

-当已经登录时,如果通过url强行进入注册页面,就会被转到index页面

-当通过POST提交表单后,通过registerForm(request.POST)来获取数据包,通过register_form.clean_data[‘表单字段名’]来获取单个数据.

-如果不采用form,记得在表单html语句中加入name属性,起到相同作用.

-这里主要审查了用户名和邮箱时候已被注册.可以加入正则表达式匹配来设定输入要求.

-hash_code是一个给密码加盐的小函数

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第7张图片

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第8张图片

-login.html

-没有什么特别的,输入用户名,密码和验证码

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第9张图片

-views.py中的登录函数

-同register基本一样

Django+MySql+ Nginx +JQuery+HTML5开发简易ERP系统(二)注册与登录_第10张图片

-views.logout函数

def logout(request):
    if not request.session.get('is_login', None):
        # 如果本来就未登录,也就没有登出一说
        return redirect("/index/")
    request.session.flush()

    return redirect("/index/")

需要交流,可以留言或发送邮件 [email protected]

你可能感兴趣的:(内网ERP系统)