zoukankan      html  css  js  c++  java
  • python笔记27(CRM4)

    S21day27 crm系统
    今日内容:
     1.Crm业务开发
      ①部门管理
      ②用户管理
      ③校区、课程管理
      ④客户管理
      ⑤学院管理
     2.权限系统应用

    任务:
     1. 创建项目
     2. 部门管理(ModelForm)
      - 部门列表
      - 添加
      - 编辑
      - 删除
     3. 用户管理
      - 用户列表
       - choice选项
       - FK
       - M2M
      - 用户添加
       - form对象循环,无需再进行每个字段的编写。
       - 页面form-control样式,重写__init__方法,动态为每个字段进行设置。
       - 本地化,form默认的英文错误提示信息转换成中文。
       - 密码的md5加密(ModelForm的钩子函数)
        
        class UserModelForm(forms.ModelForm):
         class Meta:
          model = models.UserInfo
          fields = "__all__"
         
         def __init__(self, *args, **kwargs):
          # 在父类的初始化方法中将7个字段当成字典放到了 self.fields 中。
          super(UserModelForm, self).__init__(*args, **kwargs)
          
          for key, field in self.fields.items():
           field.widget.attrs['class'] = 'form-control'
         
         def clean_password(self):
          """
          密码对应的钩子方法
          :return:
          """
          user_input_pwd = self.cleaned_data['password']
          return md5(user_input_pwd)
      - 用户编辑和用户删除
      
     4. 校区、课程、班级管理
      
     5. 客户管理
      - 公户管理
      - 私户管理
      
     6. 跟进记录
      
      
     7. 权限的应用
      参考使用文档:readme
      
     
    总结:
     1. 学会开发技能(通用)
     2. 使用rbac组件(通用)
     
     以后公司项目开发:
      - 对rbac相关表:
       - 菜单
       - 权限
       - 角色 (权限角色关系)
      
      - 目前:权限信息的录入和分配(基于admin来做)
      
      - 权限信息录入不完整(录完)
      
      
    我的感想:
     
      
    作业:权限表中的增删改查(ModelForm实现)
     
      
      
      
    1、创建crm项目s21crm,注册app为crm
    2、复制rbac、删除数据库迁移记录、注册rbac
    3、在rbac下的models.py中,修改UserInfo类为AbStractUserInfo
      class AbStractUserInfo(models.Model):
      """
      用户表
      """
      username = models.CharField(verbose_name='用户名', max_length=32)
      password = models.CharField(verbose_name='密码', max_length=64)
      roles = models.ManyToManyField(verbose_name='关联角色', to='Role')
      class Meta:
       abstract = True  # 表示让django的orm不在为该类在数据库中创建表
     
     在crm下的models.py中,添加UserInfo类,继承AbStractUserInfo
      from django.db import models
      from rbac.models import AbStractUserInfo

      # Create your models here.
      class Department(models.Model):
       """
       部门表
       """
       title = models.CharField(verbose_name='部门', max=32)
      class UerInfo(AbStractUserInfo):
       """
       用户表
       """
       depart = models.ForeignKey(verbose_name='部门', to='Department')
       email = models.EmailField(verbose_name="邮箱")
       phone = models.CharField(verbose_name="手机", max_length="32")
     在rbac中注释admin.site.register(models.UserInfo)
     执行数据库操作:python manage.py makemigrations  python manage.py migrate
    4、部门管理:
     1、继承layout.html模板(layout.html中先注释掉{% load rbac %}{% get_menu request %})
     2、创建views文件夹,在文件夹下创建对应的视图文件
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
  • 相关阅读:
    textarea回车在多浏览器兼容问题
    windows server平台移动oracle表空间
    奇妙的英文recreate,reproduce,regenerate也不同
    《Inside the C++ Object Model》笔记(1~7章)
    1.4买书问题C#源码
    C#的Compiler Error CS1660
    数学符号表
    C#工程添加了DLL编译运行时却提示”无法加载DLL“的解决方案
    看源代码那些事【转】
    救命的软件,查看你关掉的网站内容
  • 原文地址:https://www.cnblogs.com/xingye-mdd/p/9958849.html
Copyright © 2011-2022 走看看