
Django
水巷石子
大道至简
展开
-
使用celery将方法异步化改造
使用celery将方法异步化改造,包含改造的具体步骤原创 2022-10-17 20:22:48 · 537 阅读 · 0 评论 -
权限管理功能介绍及新开发功能的接入(整合版+前端)
python基于django的权限管理功能培训文章原创 2021-12-24 17:28:59 · 1949 阅读 · 4 评论 -
django中使用装饰者模式进行权限控制
现在是需要进行权限控制,之前设计的是使用拦截器,进行权限控制。使用拦截器,只会放行权限列表中的权限,如果不在权限列表中,则都会进行拦截。比如我现在项目的情况:我目前将项目的菜单和按钮都加入了权限列表中,但页面有一些如下拉列表会调接口,以及打开页面时默认调用的接口,这些方法没有在权限列表中,则都会被拦截。为了解决这个被拦截的问题,准备使用装饰者模式进行权限控制。即只在需要拦截的方法上面添加权限控制注解1.在app下创建自己的decorator[外链图片转存失败,源站可能有防盗链机制,建议将原创 2021-10-11 17:58:46 · 402 阅读 · 4 评论 -
django的删除方法
在公司中,数据才是最重要的,所以最怕的就是删库。但我昨天就不小心,把公司数据库中用户表的数据全部删除了。一起来看看我当时的操作。执行了上述代码,我将数据库是auth_user表的所的用户都删除了。下面总结一下django的删除方法。删除单条数据记录:from django.contrib.auth.models import User#删除单条数据记录user=User.object.get(id=1)user.delete()删除多条数据记录:from django.contrib.原创 2021-09-08 10:22:27 · 2013 阅读 · 0 评论 -
django在两个表之间的中间表插入一条数据
表1:角色组表CREATE TABLE `auth_group`( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(80) NOT NULL, PRIMARY KEY('id'), UNIQUE KEY `name` (`name`))ENGING=MyISA, AUTO_INCREMENT=24 DEFAULT CHARSET=utf8;表2:权限表CREATE TABLE `auth_permission`( `id` int原创 2021-08-30 09:52:46 · 475 阅读 · 0 评论 -
Django中Model关联表时on_delete参数的含义
代码例子:menu = models.ForfeignKey("Menu",null=True,blank=True,on_delete=models.DO_NOTHING)# 这里的on_delete参数是DO_NOTHING,含义是删除关联数据,什么也不做on_delete参数含义on_delete=None, # 删除关联表中的数据时,当前表与其关联的field的行为on_delete=models.CASCADE, # 删除关联数据,与之关联也删除o原创 2021-08-24 10:48:03 · 764 阅读 · 0 评论 -
权限管理详细设计
2单元设计通过页面操作权限配置,实现动态菜单显示、权限信息配置、菜单配置、角色组配置、用户配置、操作日志。2.1动态菜单显示用户登录后,应该根据其权限,显示其可以操作的菜单。前面我们我们已经将用户的权限和菜单信息保存在了request.session中,可从中提取信息,并将其渲染成页面显示的菜单。2.1.1 session登录之后,将菜单数据存入session中。2.1.1.1接口说明请求方法http://{host.port}/ops/login功能说明登录后,菜单动态原创 2021-08-19 17:02:52 · 965 阅读 · 0 评论 -
Django指令
验证指令:使用python manage.py validate却不能使用,报Unknown command :'validate'旧版本指令python manage.py validate原因分析:django的版本问题,上面的指令是比较老的版本才能使用,现在我们使用的基本都是比较新的版本,但新版本是已经摈弃这上面的指令,下面才是比较新的指令。使用python manage.py check新版本指令:python manage.py check #与老版本的python manag原创 2021-08-18 19:52:19 · 190 阅读 · 0 评论 -
Django报错:DoesNotExist:Menu matching query does not exist解决办法
关键报错信息:bug却可以看到查到了251条信息查看报错信息,问题定位到关键问题出在_str_()方法p=self.parent原因分析:把表中的parent_id值从0改为null之后,就可以正常运行了。原创 2021-08-18 19:50:39 · 1516 阅读 · 0 评论 -
QuerySet类型转json类型
这里拿permission_item_list举例QuerySet类型详情如下:permission.py代码:遍历QuerySet并存储到创建的list[]变量中。使用python的json.dumps方法,将list[]变量转换为json对象原创 2021-08-17 14:48:54 · 982 阅读 · 0 评论 -
Django报错:TypeError:unbound method query_list() must be called with AuthGroup instance as first arg
下面是具体的代码。views.py代码:service的Group表代码:原因分析:就是需要先进行实例化。因为我们引入的是AuthGroup,只是引入了,并没有实例化。那么问题来了,怎么样实例化呢?AuthGroup()就可以了。问题解决!!!...原创 2021-08-17 11:45:22 · 201 阅读 · 0 评论 -
Django报错:attributeError:type object ‘Group‘ has no attribute ‘objects‘
问题截图:但是单独在python Console中测试,是没有问题的:下面是具体的代码。views.py代码:service的Group表代码:原因分析:改完之后 ,问题解决。原创 2021-08-17 11:36:29 · 1125 阅读 · 0 评论 -
python的__str__()方法和__unicode__()方法
这个__str__的作用是美化打印出来的结果,使人类更方便查看。看下面例子,如果没有__st__方法,打印的结果是<main.ss instance at 0x0000000002E839C8>格式有了__str__方法后,打印时会按照__str__定义的格式来打印,打印结果为18,wozenmezhemeshuai,carlos。# -*- coding: UTF-8 -*-# 开发人:李柏霖# 开发时间:2021/8/5 9:35class ss: def __init_原创 2021-08-05 10:37:53 · 391 阅读 · 0 评论 -
企业级数据库设计十个原则
十个原则可以分为三个大类:3个基本原则4个扩展原则3个完备性原则3个基本原则结构清晰:表名、字段命名没有歧义,能一眼看懂唯一职责:一表一用,领域定义清晰,不存储无关信息,相关数据在一张表中主键原则:设计不带物理意义的主键;有唯一约束,确保幂等4个扩展性原则(影响系统的性能和容量)长短分离:可以扩展,长文本独立存储;有合适的容量设计冷热分离:当前数据与历史数据分离索引完备:有合适索引方便查询不使用关联查询:不使用一切的SQL Join操作,不做2个表或者更多表的关联查询示原创 2021-08-03 14:22:57 · 567 阅读 · 0 评论 -
Django添加一个职位详情页面
页面详情页面效果:开发步骤:1.添加职位详情页面job.html2.在views.py添加detail详情方法3.最后在urls.py中配置路由具体代码:第一步:job.html页面代码:{% extends 'base.html' %}{% block content %}<div style="margin:auto; width:50%;">{% if job %} <div class="position_name" z> .原创 2021-08-03 11:14:21 · 269 阅读 · 0 评论 -
Django添加一个自己的页面
步骤:1.编写html页面2.编写views.py中方法,进行页面调用3.内部url配置,全局url配置最终页面效果:html代码:我这边是使用了joblist.html进行extends页面base.htmlbase.html<!-- base.html--><h1 style="margin: auto;width: 50%">柏霖科技开放职位</h1><p></p>{% block content %}{% e原创 2021-08-03 09:58:54 · 961 阅读 · 1 评论 -
Windows中和Linux的cat命令类似的指令是什么呢?
这个指令就是:type在windos中使用cat时,会报不能使用.在windos中需要使用type。可以成功在windos系统中读文件,和linux中的cat命令一样。原创 2021-07-28 16:01:59 · 2553 阅读 · 0 评论 -
启动Django程序报:SyntaxError: Non-ASCII character ‘\xe6‘ in file C:\Users\libol\PycharmProjects\Django_
报错截图:根据提示,了解到是models.py文件Non-ASCII问题。models.py文件如下:from django.db import modelsfrom django.contrib.auth.models import Userfrom django.utils.translation import gettext_lazy as _JobTypes = [ (0, "技术类"), (1, "产品类"), (2, "运营类"), (3, "设原创 2021-07-28 15:49:11 · 363 阅读 · 0 评论 -
admin页面中英文切换配置
admin页面中英文切换配置settings文件中,默认配置是英文# LANGUAGE_CODE = 'en-us'页面效果:如果想要页面显示中文,只需要进行如下修改LANGUAGE_CODE = 'zh-hans'页面效果如下:原创 2021-07-28 15:32:45 · 500 阅读 · 0 评论 -
Django进入admin管理页面
当我们进入Django的admin后台管理页面,就需要输入用户名和密码。如果我们直接登录会出现:我们可以使用python manage.py createsuperuser用上述指令创建管理员用户。但在创建时候有报错。具体报错如下:(venv) C:\Users\libol\PycharmProjects\Django_day07>python manage.py createsuperuserYou have 13 unapplied migration(s). Your p原创 2021-07-27 09:57:13 · 3512 阅读 · 1 评论 -
python2使用makemigrations报错:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-
具体报错如下:(venv) C:\Users\libol\PycharmProjects\day06>python manage.py makemigrationsMigrations for 'jobs': jobs\migrations\0001_initial.py - Create model JobTraceback (most recent call last): File "manage.py", line 22, in <module> exe原创 2021-07-27 00:12:38 · 322 阅读 · 0 评论 -
Django创建app项目报错:TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str‘
Django创建app项目报错:TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’新创建了一个Django项目,使用指令:python manage.py startapp app01创建app项目的时候,却报错。报错截图如下:解决办法:修改settings.py文件中的’DIRS’配置原先配置是:'DIRS': [BASE_DIR / 'templates']修改为:'DIRS': [str.format(B原创 2021-07-26 16:37:05 · 704 阅读 · 0 评论