Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局密码修改

 1 # gbacc_urls.py
 2 # ————————38PerfectCRM实现全局账号登录注销————————
 3 from django.conf.urls import url
 4 from gbacc import gbacc_views
 5 urlpatterns = [
 6     url(r‘^gbacc_login/‘, gbacc_views.gbacc_login, name=‘gbacc_login‘),  # 全局登录
 7     # LOGIN_URL = ‘/gbacc/gbacc_login/‘# login_url 配置,默认‘/accounts/login/‘ #注意 / (斜杠,绝对路径)#settings.py
 8
 9     url(r‘^gbacc_logout/‘, gbacc_views.gbacc_logout, name=‘gbacc_logout‘),  # 全局注销,默认跳转到accounts/login
10
11     # ————————39PerfectCRM实现全局账号注册————————
12     url(r‘^gbacc_register/‘, gbacc_views.gbacc_register, name=‘gbacc_register‘),  # 注册
13     # ————————39PerfectCRM实现全局账号注册————————
14
15     # ————————40PerfectCRM实现全局密码修改————————
16     url(r‘^(\d+)/gbacc_modify/$‘,gbacc_views.gbacc_modify, name=‘gbacc_modify‘),
17     # 全局logout django logout 默认跳转到accounts/login
18     # ————————40PerfectCRM实现全局密码修改————————
19
20
21 ]
22 # ————————38PerfectCRM实现全局账号登密码密码录注销————————

# gbacc_urls.py

  1 # gbacc_views.py
  2 # ————————38PerfectCRM实现全局账号登录注销————————
  3 from django.contrib.auth import login #记录登录 #Django在数据库创建一条记录 #记住密码,免登录
  4 from django.contrib.auth import authenticate #调用用户认证模块
  5 from django.contrib.auth import logout #注销功能
  6 from django.shortcuts import render  #页面返回
  7 from django.shortcuts import redirect  #页面返回
  8
  9 #全局账号登录
 10 def gbacc_login(request):
 11     errors={}
 12     if request.method =="POST":
 13         _email=request.POST.get(‘email‘)
 14         _password=request.POST.get(‘password‘)
 15         user =authenticate(username=_email,password=_password)#调用用户认证模块
 16         print(‘认证账号密码‘,user)
 17         if user:
 18             login(request,user)#记录登录 #Django在数据库创建一条记录 #记住密码,免登录
 19             next_url =request.GET.get(‘next‘,‘/‘)#跳转的页面,默认为首页
 20             return redirect(next_url)
 21         else:
 22             errors[‘error‘]=‘认证失败!‘
 23     return render(request,‘gbacc_specific/gbacc_login.html‘,locals())
 24
 25 #全局账号注销
 26 def gbacc_logout(request):
 27     logout(request)  #调用Djangao 注销功能
 28     return redirect(‘/gbacc/gbacc_login/‘)
 29
 30 # ————————38PerfectCRM实现全局账号登录注销————————
 31
 32
 33
 34
 35
 36 # ————————39PerfectCRM实现全局账号注册————————
 37
 38 #json 对错误信息对象进行处理 #处理注册的内容
 39 import json    #转为json格式
 40 from django.core.exceptions import ValidationError #错误信息
 41 class JsonCustomEncoder(json.JSONEncoder):
 42     def default(self,field):
 43         if isinstance(field,ValidationError):#如果是错误信息进行处理
 44             return {‘code‘:field.code ,‘messages‘:field.messages}
 45         else:
 46             return json.JSONEncoder.default(self,field)
 47
 48 #注册   ajax 验证
 49 from gbacc.gbacc_auxiliary.account import RegisterForm #注册验证
 50 from django.contrib.auth.hashers import make_password  #密码加密
 51 from django.shortcuts import HttpResponse #页面返回
 52 from crm import models
 53 def gbacc_register(request):
 54     if request.method==‘GET‘:
 55         obj=RegisterForm(request=request, data=request.POST) #注册验证 #PerfectCRM.gbacc_auxiliary.account
 56         return render(request, ‘gbacc_specific/gbacc_register.html‘,{‘obj‘:obj})
 57     elif request.method==‘POST‘:
 58         #返回的字符串 字典
 59         ret={‘status‘:False,‘error‘:None,‘data‘:None}
 60         #进行验证 调用RegisterForm
 61         obj=RegisterForm(request=request, data=request.POST)#注册验证 #PerfectCRM.gbacc_auxiliary.account
 62         if obj.is_valid():
 63             name = obj.cleaned_data.get(‘name‘)#获取用户名
 64             password = obj.cleaned_data.get(‘password‘)    #获取密码
 65             email= obj.cleaned_data.get(‘email‘)  #获取邮箱账号
 66             password=make_password(password,)#密码加密
 67             #print(username,password,email)
 68             #——————数据库添加数据——————
 69             models.UserProfile.objects.create(name=name,password=password,email=email,)
 70             #——————数据库添加数据——————
 71             #获取用户数据
 72             user_info= models.UserProfile.objects.  73                 filter(name=name, password=password).  74                 values(‘id‘, ‘name‘, ‘email‘,).first()
 75             #nid=user_info.id
 76             print(user_info,type(user_info),‘..........‘)
 77             # admin_obj = base_admin.site.registered_sites[‘crm‘][‘userprofile‘]#表类
 78             # user_obj=admin_obj.model.objects.get(id=user_info[‘id‘])#类表的对象
 79             # user_obj.set_password(password)#加密
 80             # user_obj.save()
 81             request.session[‘user_info‘] = user_info   # session
 82             #print(user_info.id)
 83             ret[‘status‘]=True  #状态
 84             ret[‘data‘]=obj.cleaned_data
 85             # print(obj.cleaned_data)
 86             # print(ret)
 87             ret=json.dumps(ret)#转为json格式
 88             #return HttpResponse(ret)
 89         else:
 90             #加入错误信息
 91             #print(obj.errors)
 92             ret[‘error‘]=obj.errors.as_data()
 93             #提示为False
 94             #ret[‘status‘]=False
 95             #对错误信息对象进行转化处理 前端不用二次序列化
 96             ret=json.dumps(ret,cls=JsonCustomEncoder)
 97             #print(ret)
 98         return HttpResponse(ret)
 99
100 # ————————39PerfectCRM实现全局账号注册————————
101
102
103 # ————————40PerfectCRM实现全局密码修改————————
104 from king_admin import base_admin
105 from  king_admin import forms as kingforms
106 def gbacc_modify(request,user_id):#用户密码修改
107     admin_obj = base_admin.site.registered_sites[‘crm‘][‘userprofile‘]#表类
108     model_form = kingforms.CreateModelForm(request,admin_obj=admin_obj)#modelform 生成表单 加验证
109     obj=admin_obj.model.objects.get(id=user_id)#类表的对象
110     errors={}#错误提示
111     if request.method==‘POST‘:
112         ret={}
113         _password0=request.POST.get(‘password0‘)
114         user =authenticate(username=obj.email,password=_password0)#调用用户认证模块
115         print(‘obj.email‘,obj.email)
116         print(‘验证比对数据库‘,user)
117         _password1=request.POST.get(‘password1‘)
118         _password2=request.POST.get(‘password2‘)
119         if user:
120             if _password1==_password2:
121                 if len(_password1)>6:
122                     obj.set_password(_password1)#继承Django方法 #加密
123                     obj.save()
124                     ret=‘密码修改成功!‘
125                     return redirect(‘/gbacc/gbacc_login/‘)
126                 else:
127                     errors[‘password_too_short‘]=‘必须不少于6字符‘
128             else:
129                 errors[‘invalid_password‘]=‘两次输入的密码不一样‘
130         else:
131             errors[‘invalid_password‘] = ‘原密码错误‘
132     return render(request,‘gbacc_specific/gbacc_modify.html‘,locals())
133 # ————————40PerfectCRM实现全局密码修改————————

# gbacc_views.py

 1 {#global_modify.html#}
 2 {## ————————40PerfectCRM实现全局密码修改————————#}
 3 {% extends "gbacc_master/gbacc_sample.html" %}
 4 {% block right-container-content %}
 5         <div class="container col-lg-offset-3">
 6             <form  class="form-signin col-lg-4 pu " method="post" >{% csrf_token %}
 7                 <div><h2 class="form-signin-heading">CRM 修改密码</h2> </div>
 8                 <span style="color: red">{{ model_form.errors }}</span>
 9                     <div>
10                         <label class="col-sm-4 control-label "  style="font-weight: normal">  用户名:  </label>
11                         <label><input type="text" name="user"  class="form-control" value="{{ obj }}" disabled>  </label>
12                     </div>
13                     <div>
14                         <label class="col-sm-4 control-label "  style="font-weight: normal">   原密码:</label>
15                         <label><input type="password" name="password0" class="form-control">  </label>
16                     </div>
17                     <div>
18                         <label class="col-sm-4 control-label "  style="font-weight: normal">   新密码:</label>
19                         <label><input type="password" name="password1" class="form-control">  </label>
20                     </div>
21                     <div>
22                         <label  class="col-sm-4 control-label "  style="font-weight: normal">  新密码(重复): </label>
23                         <label><input type="password" name="password2" class="form-control"></label>
24                     </div>
25                     <div >
26                         {% for k, v in errors.items %}
27                             <span style="color: red">{{ v }}</span>
28                         {% endfor %}
29                     </div>
30                     <div><input type="submit" value="提交" class="pull-right btn btn-info " ></div>
31             </form>
32         </div>
33 {% endblock %}
34 {## ————————40PerfectCRM实现全局密码修改————————#}

{#global_modify.html#}

原文地址:https://www.cnblogs.com/ujq3/p/8761830.html

时间: 2024-10-09 01:01:14

Django项目:CRM(客户关系管理系统)--49--40PerfectCRM实现全局密码修改的相关文章

Django CRM客户关系管理系统

CRM需求分析 随着信息化时代带来的科技创新,CRM客户关系管理系统带来的效益在已经成为很多企业提高竞争优势的一分部,CRM客户关系管理系统将企业管理和客户关系管理集成到统一的平台,其系统功能主要体现在企业与客户之间的业务和企业内部之前部门之间的业务.因此CRM客户关系管理系统不但可以记录企业自内部信息,对于客户信息存储也是可以做到的,其中还涉及市场竞争对手的情报资料,还包括了企业进行营销.销售及支持服务所需的各种数据. 功能实现 (1)建议统一的信息编码系统; (2)设计能够良好反映事物特性的

CRM客户关系管理系统商业项目

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统商业项目视频课程

本课程共33讲,购买课程后,可以下载项目需求分析文档,数据库设计文档,完整的项目源代码,数据库文件等资料,系统采用jsp,servlet,js,ajax,jquery,easyui,mysql数据库等相关技术实现,所有代码均为原生态,无第三方插件,系统稳定,高效,快捷,本系统是专门针对各种中小型企业量身定做的CRM客户关系管理系统,为企业管客户,管商机,管销售,从而推动业务进展,提高工作效率,管理大数据. 项目主要功能有客户管理,合同管理,合同附件管理,合同预览(放大缩小),订单管理,商务洽谈,

CRM客户关系管理系统需求分析文档

系统简介 本软件采用现在流行的WEB架构开发,主要针对中小型公司.管销售,管客户,管商机:可以在任何能上网的地方登录使用,使用简单,功能强大,方便快捷,丰富完善的报表功能,极大的提高公司的运营效率,不会因为人员的变动而导致数据的丢失,对公司的日常业务,问题追责等提供详细数据,对于公司领导可以做到"一表知天下",具体功能如下:1.客户管理:1.1.有非常完善的客户资料信息,对不同的客户进行分类管理,如普通客户,VIP客户,成交客户和潜在客户等1.2.对客户的每次来电,拜访情况可以做详细的

crm客户关系管理系统大约多少钱?

随着CRM在企业中的应用普遍化,不少人相信对CRM系统并不陌生,但是更多人关注的还是CRM客户关系管理系统价格如何. 其实CRM价格并不是固定的,毕竟市面上CRM系统种类众多,种类不同,价格不一样,功能不同,价格也不一样,所以CRM客户关系管理系统价格是由多方面因素影响的. 其实不同的CRM都有不同的价格,况且现在很多CRM都分模块或分版本销售,所以会出现不同的需求不同的价格.当然了选择CRM不仅仅要看价格,而且要看这套CRM是否符合自己公司的具体需求.可以尝试多去试用,多去对比,找出适合自己企

最好用的CRM客户关系管理系统

佳网CRM客户关系管理系统我们致力于解决企业客户管理,提高企业的办事效率,为企业提供一站式服务化繁为简: 统一管理,不再分散 解决客户资料分散于业务员个人的问题,现在每个人一个帐号,客户资料统一管理 权限设置细化明确 不同部门设置不同的菜单权限,不同的员工级别设置不同的操作权限 精准定位,多条件查找 根据级别.合同状态.所属业务员.跟单状态等不同条件快速查找客户资料 客户资料随身而行 移动端全功能支持,随时随地看客户.跟单.订单.合同资料 实时消息提醒 第一时间通知与您相关的新消息,即刻加入企业

CRM客户关系管理系统如何分析客户的动态需求

由于激烈的市场竞争,对于怎样掌握客户的动态需求,怎样保持客户市场的稳定增长,对于企业来说已经成为普遍的关注点.CRM客户关系管理系统经过了10年的发展历程,怎样管理客户.了解客户成就了CRM客户关系管理系统的大市场. CRM供货商一般侧重于宣扬软件的特性及功用,而对其全体价值则没有做出了解的表述. 用户高档处理层一般从基础设施安顿而非运营和战略视点对待CRM客户关系管理系统施行. 由于无法从运营和战略视点安顿CRM客户关系管理系统,用户对CRM的价值认知只停留在技术功率层面上. 只需跨过技术和流

CRM客户关系管理系统如何推动企业走向成功

随着我国互联网信息技术水平的不断提高,crm客户关系管理系统发展迅速.许多的企业对crm系统进行了引进,帮助企业赢得收益与未来,那crm系统如何帮助企业走向成功的呢?下面我们一起来看看. 一.集中保存客户信息客户无疑是企业发展的根本,crm系统拥有强大的客户信息管理的能力,可以详细记录客户信息,对客户的信息进行集中管理和共享,防止出现因业务调整或人员的流动而产生客户资源或数据的流失:同时,crm系统能够保证客户信息的完整,积累企业的宝贵财富.让企业从现有客户中获取更多市场份额,让客户生命周期发挥

CRM客户关系管理系统-需求概设和详设

大概设计 大概设计就是对需求进行一个整体性分析,把需要实现的功能都列出来,对于客户关系管理系统,我们需要从角色出发,从而确定有哪些需求,最好是画个思维导图 首先我们是为培训学校这么一个场景来开发的,所以有:学生,讲师,销售,老板这么四个角色,那接下来,我们就要对这几个角色需要实现哪些功能逐一分析了 第一个,学生,1.交作业 2.查成绩 3.请假 4.合同 5.我的推荐 6.投诉建议 第二个,讲师, 1.上课点名 2.批作业 3.创建上课记录 4.查看班级成绩 5.课时申报 6.问卷调查 第三个,