1.解决公户转私户的问题 数据库中加锁: ​ begin; 开始事务 ​ select * from user where id=1 for update; 加锁 ​ commit; 结束事务 django中加锁: with transaction.atomic(): # 查询出数据加锁 queryset = models.Customer.objects.filter(id__in=ids, consultant__isnull=True).select_for_update() # 加锁 i…
1.增加客户 2.编辑客户 obj = models.Customer.objects.filter(pk=edit_id).first() form_obj = CustomerForm(instance=obj) # 包含源数据 # 修改 form_obj = CustomerForm(request.POST,instance=obj) # 包含源数据 新提交的数据 form_obj.save() # 编辑 3.公户和私户的展示 什么是公户? ​ 客户没有绑定销售,就是公户 什么是私户?…
1.展示客户 模板的查找顺序: ​ 先找全局的templates--> 按照app的注册顺序找templates中的文件 使用admin添加数据: 创建超级用户 python manage.py createsuperuser 在admin中注册model from django.contrib import admin from crm import models admin.site.register(models.Customer) admin.site.register(models.C…
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-essential sudo apt-get install libtool 2.安装pcre依赖库 sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev 3.安装zlib依赖库 sudo apt-get install zlib…
1 编辑和添加后跳转页面: 思路:写一个参数将路径的条件带上 注意:捋流程的时候从urls里开始 1.在crm文件夹下新建python包:templatetags,在包里新建url.py: from django import template from django.urls import reverse register = template.Library() @register.simple_tag() def reverse_url(request, name, *args, **kw…
今天想把之前写的CRM项目梳理下,顺便回顾一下djiango的部分重要知识. 1.登录页面(包含简单验证码) 首先来看下CRM的登录页面,样式啥的不重要,大家可以去jquery ui的网站上或者其他地方找前端页面,这里主要说一下django的后台实现 登录的视图函数回顾,首先这里登陆我用的是ajax的请求做的,图中有代码注释,主要是提交数据并展示登录错误信息 //登录提交数据 $('#login_in').on('click',function () { // 点击图片后刷新,通过+?的形式实现…
一.CRM项目(2) 利用Q查询中的q对象完成条件筛选功能. 批量删除.公户转私户功能. 新增一张跟进记录表ConsultRecord,迁移数据库并添加测试数据,实现跟进记录列表页面. 客户列表新增跟进记录字段,并与对应客户的跟进记录列表页面建立链接. 二.补充 1.Q查询补充 示例一: q=Q() # 实例化一个Q的对象q,我们可以给它加条件 q.children.append(("name","alex")) # 添加筛选条件,即name字段为alex的记录 #…
一.CRM项目的业务逻辑与表结构梳理 1.分析业务逻辑 (1) 引流(sem) (2) 网络咨询师(客服):添加客户信息和查看客户,分配销售 (3) 销售:查看私户 添加跟进记录 失败:加入公户 成功:缴费,修改状态 (4)产生的表有: 员工表,部门表,客户表,跟进记录表,缴费表,报名表 学生表,班级表,课程记录表,学生学习记录表 2.crm项目进度 (1)整合优化添加和编辑的代码 (2)私户转公户 (3)添加跟进记录 二.补充知识点 1.model模型类中表的自关联 class Custome…
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.html' %}#} {#{% block right-container-content %}#} {#<div class="container col-lg-offset-3">#} {# <h2><a class="form-signin-he…
CRM介绍: CRM即客户关系管理,是指企业用CRM技术来管理与客户之间的关系.在不同场合下,CRM可能是一个管理学术语,可能是一个软件系统.通常所指的CRM,指用计算机自动化分析销售.市场营销.客户服务以及应用等流程的软件系统.它的目标是通过提高客户的价值.满意度.赢利性和忠实度来缩减销售周期和销售成本.增加收入.寻找扩展业务所需的新的市场和渠道.CRM是选择和管理有价值客户及其关系的一种商业策略,CRM要求以客户为中心的企业文化来支持有效的市场营销.销售与服务流程. 本次CRM项目的需求以及…
写在前面 上课第26天,打卡: 世间安得双全法 不负如来不负卿 s17day26 CRM项目 项目概要:XX公司CRM - 权限管理,公共组件,app ***** - 熟悉增删改查,Low *** - 增删改查组件,公共组件,app **** 内容回顾: . .all,values,values_list models.xx.objects.all() ---> [obj,obj,obj,] models.xx.objects.values('id','name') ---> [{,,'nam…
crm项目整理   一.开发背景 由于公司人员的增多,原来通过excel表格存取方式过于繁琐,而且对于公司人员的调配和绩效考核等不能做到精确处理,所以开发crm系统,开始开发只是针对销售人员和客户,后面陆续加上一些操作,如学校管理和教师管理,课程管理等, 二.开发周期 开发2个月,2个月后持续还在做:修复bug和新功能的开发. 最初只是开发了业务,因为时间比较紧,后面由于维护和和更有利于新功能的扩展,重新抽取组件,如stark组件和分页组件,rbac(权限组件) 三.表设计 from djang…
一.开发背景 由于公司人员的增多,原来通过excel表格存取方式过于繁琐,而且对于公司人员的调配和绩效考核等不能做到精确处理,所以开发crm系统,开始开发只是针对销售人员和客户,后面陆续加上一些操作,如学校管理和教师管理,课程管理等, 二.开发周期 开发2个月,2个月后持续还在做:修复bug和新功能的开发. 最初只是开发了业务,因为时间比较紧,后面由于维护和和更有利于新功能的扩展,重新抽取组件,如stark组件和分页组件,rbac(权限组件) 三.表设计 from django.db impor…
CRM customer relationship management 客户管理系统 1. 干什么用的? 管理客户 维护客户关系 2. 谁去使用? 销售 班主任 项目经理 3. 需求: 1. 登录 2. 注册 3. 销售: 1. 客户列表 增加/编辑客户 2. 客户的跟进记录 增加/编辑跟进记录 3. 报名记录列表 增加/编辑报名记录 4. 缴费记录列表 增加/编辑缴费记录 4. 班主任 1. 班级列表 增加/编辑课程 2. 课程记录列表 增加/编辑课程记录 3. 学习记录列表 增加/编辑学习…
            CRM项目总结      一:开发背景 在公司日益扩大的过程中,不可避免的会伴随着更多问题出现. 对外 : 如何更好的管理客户与公司的关系?如何更及时的了解客户日益发展的需求变化?公司的产品是否真的符合客户需求?以及公司新产品信息是否更有针对性的及时推送给客户?客户没有 对内 : 公司发展壮大,部门越来越多,如何明确每个部门的权限?如何合理的调配公司人员?如何合理的分配客户资源?如何精确的处理绩效考核?以及更重要的在销售管理中,如何更及时的了解是什么阻碍了公司的发展?是什…
当我们闲暇之余想上网看看新闻,或者看个电影,通常的操作是:打开电脑.打开浏览器.输入网址.浏览页面信息.点击自己感兴趣的连接......那么有没有想过,这些网页从哪里来的?过程中计算机又做了什么事情了?(PS,白话式叙述,有些啰嗦,勿喷.) 一.基础普及: 首先先定义几个名词,我们使用电脑上的浏览器访问网页,那么我们的电脑浏览器(Browser)就是客户端(Client),想一下:其实我们都是客户:而网上有一个大型的服务器(大点的电脑主机)用于存储我们看到的页面.视频.图片等等数据,服务器会根据…
crm注册 crm注册Form from django import forms from crm import models from django.core.exceptions import ValidationError # ModelForm的作用:做验证,生成form表单input框 class BaseForm(forms.ModelForm): # 给所有的字段添加属性 def __init__(self, *args, **kwargs): super().__init__(*…
虚拟环境运行crm项目 1.进入虚拟环境 2.解决crm项目运行所需的依赖环境 1.手动解决 pip3 install django==1.11.14 pip3 install pymysql pip3 install django-multiselectfield 2.安装mysql数据库,支持crm业务 mysql服务端是 mysqld mysql客户端有哪些? mysql -uroot -p pymysql navicate pycharm mysql驱动 安装linux的mariadb服…
笔记-django第一个项目 1.      创建项目 安装 Django 之后,现在有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 看下django-admin 的命令介绍: 1.1.    startproject django-admin startproject HelloWorld 创建完成后我们可以查看下项目的目录结构: $ cd HelloWorld/ $ tree . |-- HelloWorld |   |-- __init_…
###############    stark组件     ################ """ 这个stark组件是非常神奇的 1,独立的一个组件 2,没有model 3,没有views """ ###############    stark组件     ################ """ stark组件站点类 这个是一个重点类,应该是研究这个组件的起点 做了几件事 1,模仿admin,利用了单例模式…
最近参与了某公司的CRM项目招标工作, 由于此项目涉及到的二级单位比较多,以及项目金额比较大,所以此招标工作从准备到宣布中标一直持续了大概3个月时间,中间过程发生了一些颇有意思的事情,因为保密的原因无法直接分享这些事情,但此次招标的一些感悟却可以在这里分享一下. 先说一下背景,经过前期的多次沟通,确定最终来参与投标的两家乙方(分别以A B代称)均是CRM领域国际上排名前列的公司,产品比成熟,二次开发平台稳定.所以纯从产品层面这两个公司无法拉开差距.两个公司的商务关系如下: A,承接过甲方的其他项…
Django运行访问项目出现的问题:DisallowedHost at / Invalid HTTP_HOST header: DisallowedHost at / Invalid HTTP_HOST header: '10.211.55.6:8000'. You may need to add u'10.211.55.6' to ALLOWED_HOSTS. Request Method:GET  Request URL:http://10.211.55.6:8000/  Django Ve…
在信息技术的快速推动下,企业如果依然利用传统的管理方式,以人为主,那效率便会大打折扣.在此背景下,企业信息化系统得 到了高速发展.如我们常见的ERP系统.MES系统,都是提高公司运行效率,降低运营以及生产成本的方式. 一.企业信息管理系统的组成 1.企业资源管理系统(ERP) 企业资源管理系统( Enterprise resource planning,ERP)是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台.它是从MRP(物料需求计划)发展而来的新一代…
今天闲来无事,心中又对软件开发充满了向往和憧憬.一直认为实践是检验真知的唯一标准,也是快速提升的绝密方法,是巩固基础加深基础的好去处.故在JD上搜了下软件开发,看到了这本<31天学会CRM项目开发>.希望在后面的阅读与探索中,能跟大家分享和学习,也希望大家对于我的言论给予评论,已达到纠错改正.共同提升的目的. 因为本人是电子类专业出身,以前所了解的软件开发仅仅停留在通过写代码实现某个功能或达到某个效果,从来没有系统的去认识.看了第一天的内容,发现原来软件开发可以这样细分: 1.软件开发产品应用…
完成基本的创建项目.用户注册.登录.注销功能 创建Django项目,创建df_user的App 创建静态文件夹static(跟manage.py保持在同一级别下) 复制静态文件(css + images+ js)到static路径下 修改settings.py文件 修改templates路径 修改数据库 新添加静态文件加载路径 Pycharm连接mysql数据库以及完成mysql数据库初始化 Python学习-Pycharm连接mysql服务器 安装Python下的MysqlClient 点击下…
运行django新的项目,页面总是显示以前的项目 只需打开任务管理器,再进程中关闭python.exe 再次重新启动服务,python manage.py runserver.即可…
linux下配置python环境 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstall 'Development Tools'yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 2.下载 Python3.5代码包 wget https://www.python.org/ftp/pyt…
django快速获取项目所有的URL django1.10快速获取项目所有的URL列表,可以用于权限控制 函数如下: import re def get_url(urllist , parent='' , depth=0 , url_list=[] , url_dict={}): for entry in urllist: url = entry.regex.pattern if re.search('\(' , url) : continue #过滤正则表达式的URL地址 url = url.…
一.项目背景 YW公司是一家电池供应商,目前由于公司内部的需要,需要做一个CRM项目,需要每一个不同角色的员工登陆系统后处理自己的事情.其流程大致如下: 其项目包括三部分内容: 1.权限分配组件(rbac组件) 2.各个表的curd功能组件(stark组件) 3.将业务与上述两个组件进行融入 二.各个功能介绍 1.rbac组件 基于角色的权限访问控制(Role-Based Access Control),用户被给予不同的角色就拥有不同的权限,极大简化的了权限分配的难度.最后项目的权限分配图: 2…
这一篇我们将迎来python强大的web框架Django,相信大家都已经不陌生,本篇将介绍Django的安装及基础项目搭建,大神略过~ Django是需要我们手动pip安装的,首先我们来安装Django 两种安装方式:命令行.pycharm 这里我们推荐下载1.11.11版本(原因嘛,大家懂的,就好像苹果系统新版本的发布总有一部分机器会成砖,一个道理) 命令行: python2: pip install  django==1.11.11 python3: pip3 install  django…