day76

昨日回顾

1 哪些权限在菜单栏显示,设计数据表,一级菜单表menu,权限表加了一个menu字段,foreignkey到menu表,权限注入,设计数据结构:

{1:{#1---menu_id 'title':'..',children:['title':'二级','url':'xx',{。。。}]},2:{'title':'..',children:['title':'二级','url':'xx']}}

只要访问的url和当前的url差不多的话,就没有hide class='' 显示,还给她加了一个active

if re.match('^{}$'.format(child[]),request.path):#但是写死了,添加的时候,url不一样了,一级菜单()和二级菜单url不匹配
	item['cl'] = '' it['cla'] = active

pk和pid

if request.show_id == child['pk']: # 等于

permission归属,从属与我的id的pid child 是左边的id

​ show_id 是 11115555

    for key, item in menu_dict.items():
        item['class'] = 'hide'
        for child in item['children'] :
            if request.show_id == child['pk']:  # 等于
                request.session['flag'] = True
                item['class'] = ''
                child['class'] = 'active'
                # break

点击现在的url,show_id为5555或者1111,request.show_id ,

children为 12345678 所以可以匹配得到

得出第一级菜单 1111 对应 1 5555 对应5 所有的url都可以匹配

(1 ) item['class'] = hide 给了children
(2) 点一下:取消的bug

class = 'hide' ------> class=''

(3) 默答 rbac

怎么设计的表机构,逻辑,权限

还没有做录入权限(权限管理,角色管理)呢,批量权限,批量录入

(4) 点添加客户和别的,

自动合上了。 路径的做不到,

(5) pk 和pid

pk给1级加了 一级菜单的pk

不理解的:这样取值:request.show_pid = m.P.o.f(url=request.path).first().pid

request.show_pid = item['pid'] 都给他加

permission_list = [{'url':'xxx','pid':'xxx'}]给他加了pid
循环添加  item['pid']

今日内容

面包屑

又叫路径导航,点一下,又出来一个。

动态生成:三级编辑的可以替换删除的

首页:客户列表 客户列表的url (按说首页是欢迎页面,但是这里写死了)

middlewares.py 

request.menu_breadcrumb  = [
	{‘title’:'首页',‘url’:'javascript:void(0)'},		
	#{‘title’:'客户列表',‘url’:'/cusomter/list/'}, 写死了		#js:void(0) 每次都刷新,不加井号	 让人看不让人用 
]

if ret:
	if item['pid'] == item['pk']:
		request.menu_breadcrumb.append(
	{
		'title'	: item['title'],
		'url':request.path,
	})
	
	from rbac import models
	else:		循环多次所以渲染多次首页/客户列表/编辑客户
		obj = models.Pe.o.filter(pk=item['pid']).first()
			l1 = [
            { #父权限 客户列表
            	'title':obj.title,
            	'url':obj.url,
            },
            
            { #子权限 编辑客户
            	'title'	: item['title'],
				'url':request.path,
            },
            ]
            request.menu_breadcrumb.extend(l1)	和append差不多
permission_input.py

permission_list = {....title:item['title']}  也有pid 也有pk
layout.html

{% for bread in request.menu_breadcrumb}

{% if forloop.last%}
	 {{bread.url}}{bread.title}  产品经理最后的没有了点击效果
{% else}
	a href {{bread.url}}{bread.title}
{% endif }

{%endfor}

有没有自适应的,二级的三级,一级级

怎么拓展表,怎么拓展菜单

评论树 多级评论

评论树

(5) 作为开发,表要记熟了。
(6) class Meta:
	db_table = 'Permission'   ?
 	ve_name_ = ‘权限表’	给admin看的

创建角色:自己创建 不是filed = 'all'

分配权限:人给你弄

各个东西都接到后台管理上,项目越做越大 ?

(7) a 标签
a href <? index=1> 拼当前路径
/必须要加  
index = 1 拼路径了
(8)menu/list
菜单表的增删改查
	点击
权限表的增删改查
	下拉
(9) chice_iconlist = []

modelform 选择框 权重先不管

2 权限分配

权限,没有分配权限

admin里分发的,让人自己分配

创建角色,分配权限,

做的都是权限限制,权限分配好之后做的事情  

录用户,录权限,录角色,自己去分配去

权限认证,动态菜单,除了细节的按键分配,面包屑都写了rbac里面
第一个任务: 做 rbac: 角色录入  角色权限menu.list
第二个任务: 
加表  到nbcrm
部门表 userinfo dep = models.Fk('Department',null=True)
班级信息 classlist
表 classstudyrecord stuentstudyrecord
报名表 enroll
学生表 Student  增删改查  onetoone “customer” 当初作为客户的信息 或者客户的作为学生的信息


publish  
id addr name 

book 
id  title price addr publish 重复了冗余 所以
id  title price publish_id 

关于上课记录表和学生学习记录表
sTsTre  学员学习记录表

id name class content homework kaoqin socre
1  chao 20     crm 		crm 	正常	60
2  hei  20     crm 		crm 	迟到	18  	记录重复了部分
单独提炼出来班级课程学习记录表
id sTsTre关联一个id就行了



有余力 (1) 加到crm里
有余力 (2) 报名表的增删改查

部门表 , 学生表也改完,增删改查

再讲另一个批量操作 剩下的时间,补充Django的其他内容,项目差不多

下周,Django其他的内容 再不项目做差不多

af_pr

错误1

关联父级的

'title':item['title'],
'icon':item['icon'],

True

'title': item['menu__title'],
'icon': item['menu__icon'],			
错误2

'WSGIRequest' object has no attribute 'menu_breadcrumb'

request.menu_breadcrumb = [
    {'title':'首页','url':'javascript:void(0);'},
]		没有写这个  ,返回当前页
错误3

不能按格式显示,点击不反应

为没有引入menu.js(里面写了点击事件,详情见day75),和menu.cs样式,刷新了缓存就好了,亮哥说是因为有缓存就用缓存的,所以没有加载上js,。。
错误4

显示问题:

打开了登录后的页面,却显示了三层,两个一级菜单和一个二级菜单,不对:应该是两个一级菜单,二级都不打开,因为没有点击,所以合着。

​ 一帆说:肯定的这样啊,因为这个页面是customer页面,匹配了,所以开了,也对。解决方法是给一个主页,主页的是合着的。点击customer便打开的这样。

(10)模板 block的用法
layout.html(模板里)
{% block con %}
{% load rbac %}
{% menu request %}
{% endblock %}

1 引用模板的文件不写block  🎧默认继承🎧
2 写了block的改变格式了
	
    {% extends 'layout.html' %}
    {% block con %}

	{% endblock %}			没有了load rbac的内容了

xiantianbuzu,houtiannuli,bururen,shibushun,qingjiao,nuli.youhaoshi,xiangzhideshang? 一天,做点事情 ,值得铭记?

不走神,关注一件事情,即使不会,也跟着。哪不会?

posted @ 2019-06-19 11:45  learnacode  阅读(247)  评论(0编辑  收藏  举报