12 2021 档案
摘要:思路 设置路由:rbac/urls.py url(r'^distribute/permissions/$', menu.distribute_permissions, name='distribute_permissions'), 后端代码菜单视图新增分配权限逻辑 rbac/views/menu.p
阅读全文
摘要:思路 web/urls中路由地址新增别名 web/urls.py # -*- encoding: utf-8 -*- """ @File : urls.py @Time : 2021-12-15 22:02 @Author : tangsai @Email : 294168604@qq.com @S
阅读全文
摘要:知识点总结 项目目录 路由设置 rbac/urls.py #! -*- coding:utf-8 -*- from django.urls import path, re_path from rbac.views import role, user, menu app_name = 'rbac' u
阅读全文
摘要:用户管理思路 项目目录 应用路由设置 rbac/urls.py #! -*- coding:utf-8 -*- from django.urls import path, re_path from rbac.views import role, user app_name='rbac' urlpat
阅读全文
摘要:权限分配总体设计 用户管理知识点 为了方便开发权限分配功能我们需要把权限校验中间件注释掉,基础模板中依赖中间件的菜单功能注释 项目目录 rbac应用下配置路由 rbac/urls.py #! -*- coding:utf-8 -*- from django.urls import path, re_
阅读全文
摘要:修改表结构 rbac/models.py from django.db import models class Menu(models.Model): """ 菜单表 """ title = models.CharField(verbose_name='一级菜单名称', max_length=32)
阅读全文
摘要:修改权限初始化代码 rbac/service/init_Permission.py # -*- encoding: utf-8 -*- """ @File : init_Permission.py @Time : 2021-12-16 22:30 @Author : tangsai @Email :
阅读全文
摘要:思路 表结构更改 rbac/models.py from django.db import models class Menu(models.Model): """ 菜单表 """ title = models.CharField(verbose_name='一级菜单名称', max_length=
阅读全文
摘要:实现思路 表结构变化 rbac/models.py from django.db import models class Menu(models.Model): """ 菜单表 """ title = models.CharField(verbose_name='一级菜单名称', max_lengt
阅读全文
摘要:将菜单权限实现逻辑放在权限表里,权限表加字段判断是否是一级菜单 修改表结构 rbac/models.py from django.db import models class Permission(models.Model): """ 权限表 """ title = models.CharField
阅读全文
摘要:###需要优化的部分 用户权限初始化代码需要单独放置在一个模块里,且放在rbac目录中 session的key键值需要配置化,在setting文件配置 用户权限校验中间件需要放在权限目录中,不能放置在业务代码中 ###优化后 优化后项目目录 具体代码 web/views/account.py fro
阅读全文
摘要:用户访问,在中间件从session中获取用户权限信息,并进行权限验证 目录 # -*- encoding: utf-8 -*- """ @File : midle.py @Time : 2021-12-16 8:59 @Author : tangsai @Email : 294168604@qq.c
阅读全文
摘要:用户登录时,就可以根据自己的【用户】找到所有的角色,再根据角色找到所有的权限,再将权限信息放入session 目录结构: 路由设置 web/urls.py from django.conf.urls import url from web.views import account urlpatter
阅读全文
摘要:学习知识最好的方式就是试错,坑踩多了那么学到的知识自然而然就多了,所以接下里下来我们用《客户管理》系统为示例,提出功能并实现,并且随着功能越来越多,一点点来找出问题,并解决问题。 目录结构: orm创建表结构 rbac/models.py from django.db import models c
阅读全文
摘要:###权限表结构设计:第一版 问答环节中已得出权限就是URL的结论,那么就可以开始设计表结构了。 一个用户可以有多个权限。 一个权限可以分配给多个用户。 你设计的表结构大概会是这个样子: 现在,此时此刻是不是觉得自己设计出的表结构棒棒哒!!! But,无论是是否承认,你还是too young too
阅读全文
摘要:创建一个经典的多对多关系:一本书可以有多个作者,一个作者可以有多本书(如下) 进行数据迁移,然后我们使用python manage.py sqlmigrate app(应用名) 迁移文件名 查看一下sql语句(如下): 从图可以看出生成了三张表,一个是book(书籍)表包含id,title两个字段,
阅读全文
摘要:定义模型类 模型类被定义在"子应用/models.py"文件中。 模型类必须直接或者间接继承自django.db.models.Model类。 接下来以学生管理为例进行演示。[系统大概3-4表,学生信息,课程信息,老师信息],创建子应用student,注册子应用并引入子应用路由. settings.
阅读全文
摘要:一、POSIX GUN GPL公共许可证 POSIX(Protable Operating System Interface,可移植的操作系统接口) 它是基于UNIX的,这一标准在期望获得源代码级的软件可移植性 GNU计划 GNU计划,由Richard Stallman在1983年9月27日发起,目
阅读全文
摘要:第一种 import sys import time def progress(percent,width=50): '''进度打印功能''' if percent >= 100: percent=100 show_str=('[%%-%ds]' %width) %(int(width * perc
阅读全文
摘要:###git 新项目上传 首先在github新建一个项目,复制项目地址 1、在某个文件夹下打开git bash here 2、执行命令 git clone 项目地址 文件夹多一个github上创建的项目名 --下载的是空文件名,将代码放进该文件 3、输入命令 cd进入目录 4、输入命令 git ad
阅读全文
摘要:一、添加路由 #个人信息页面 url(r'^userinfo/',views.userinfo), #启用账户路由 path('able_account/', views.able_account, name='able_account'), #禁用账户路由 path('disable_accoun
阅读全文
摘要:一、添加路由 查看日志路由 urls.py 模型modes.py # 日志表 class Log(models.Model): id = models.AutoField(primary_key=True) ip = models.CharField(max_length=64, verbose_n
阅读全文
摘要:修改用户头像 @login_required def set_avatar(request): if request.method == 'POST': file_obj = request.FILES.get('avatar') # models.UserInfo.objects.filter(p
阅读全文
摘要:后台管理 """ 当一个文件夹下文件比较多的时候 你还可以继续创建文件夹分类处理 templates文件夹 backend文件夹 应用1文件夹 应用2文件夹 """ 添加文章 有两个需要注意的问题 1.文章的简介 不能直接切去 应该先想办法获取到当前页面的文本内容之后截取150个文本字符 2.XSS
阅读全文
摘要:文章详情页 # url设计 /username/article/1 # 先验证url是否会被其他url顶替 # 文章详情页和个人站点基本一致 所以用模版继承 # 侧边栏的渲染需要传输数据才能渲染 并且该侧边栏在很多页面都需要使用 1.哪个地方用就拷贝需要的代码(不推荐 有点繁琐) 2.将侧边栏制作成
阅读全文
摘要:个人站点 # 全是每个用户都可以有自己的站点样式 <link rel="stylesheet" href="/media/css/{{ blog.site_theme }}/"> id content create_time month 1 111 2020-11-11 2020-11 2 222
阅读全文
摘要:1 网址所使用的静态文件默认放在static文件夹下 2 用户上传的静态文件也应该单独放在某个文件夹下 media配置 该配置可以让用户上传的所有文件都固定存放在某一个指定的文件夹下 setting.py配置如下 # 配置用户上传的文件存储位置 MEDIA_ROOT = os.path.join(B
阅读全文
摘要:view.py文件编写视图 def home(request): article_list = models.Article.objects.all() return render(request, 'home.html',locals()) 配置文件setting.py新增配置 # 配置用户上传的
阅读全文