Andy393939
这个作者很懒,什么都没留下…
展开
-
求质数的三重境界
经典题,求出小于 N(比如100)的所有质数。质数的定义还是不厌其烦赘述一下:大于1的正整数,且不能被1和它本身之外的正整数整除。质数又称素数,其他的就是合数。本文用python实现。1.试除法根据质数的定义,很容易得出直接的推导:遍历2到N,对每个数 i ,都用2到 i 的整数去试除 i,一旦 i 被整除,说明它是合数。def prime(N): ret = [2] #第一个质数是2 for i in range(3, N+1): for j i.原创 2020-12-06 22:37:45 · 194 阅读 · 0 评论 -
Django admin源码剖析
- admin源码流程 a. 运行程序,找到每一个app中的 admin.py 文件,并加载 - app01.admin.py - 创建admin.site中的对象 - 执行对象的 register方法,目的:将注册类添加到 _registry中 _registry = { key是传进来的model ...原创 2020-07-30 19:32:11 · 202 阅读 · 0 评论 -
动态引入静态文件方法
建立静态文件夹:static,及其子文件夹:css,js,imgs 在settings.py中配置:STATIC_URL = '/static/' 和 STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) 在html页面头部加入:{% load staticfiles %} css的引用: <link rel="stylesheet" href={% static 'css/bootstrap.min.css' %}>...原创 2020-05-14 12:41:37 · 792 阅读 · 0 评论 -
解决bug思路分享
老师今天讲了rbac组件,简单来讲就是把关系,系统校验等工作和业务代码分离开来,(更多参考自:https://www.cnblogs.com/wupeiqi/articles/9169292.html),自己写的时候遇到几个问题,以下是遇到问题的解决办法和思路分享:1.创建了rbac APP,把用户表关系表角色表挪到rbac app下的models下后,同步数据表时出现错误: uniqueID = models.OneToOneField(UserInfo,on_delete=mod..原创 2020-05-13 18:59:21 · 362 阅读 · 0 评论 -
pip常用指令
下载pip:https://pypi.python.org/pypi/pip下载后解压,然后打开命令提示符(cmd)进入文件夹位置(cd “文件路径”),然后运行 python setup.py install 指令,安装pip,这也是许多pip不能直接安装的包的一种安装方式。pip常用指令:1、参数解释:pip --help2、pip自更新:python -m pip install --upgrade pip3、pip列出已安装的包:pip list(包名字和版.原创 2020-05-11 12:28:02 · 277 阅读 · 0 评论 -
on_delete
1、常见的使用方式(设置为null)2、关于别的属性的介绍CASCADE:这就是默认的选项,级联删除,你无需显性指定它。PROTECT: 保护模式,如果采用该选项,删除的时候,会抛出ProtectedError错误。SET_NULL: 置空模式,删除的时候,外键字段被设置为空,前提就是blank=True, null=True,定义该字段的时候,允许为空。SET_DEFAULT: 置默认值,删除的时候,外键字段设置为默认值,所以定义外键的时候注意加上一个默认值。SET(): 自定义一个值,该原创 2020-05-11 12:21:02 · 554 阅读 · 0 评论 -
day70 Django model中的 class Meta
今天老师写代码的时候用到了Meta类: class Meta: verbose_name ="客户表" verbose_name_plural ="客户表"觉得神奇,查了资料把全部用法列举如下:Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等.下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全是可选的.app_labelapp_l转载 2020-05-09 15:26:20 · 173 阅读 · 0 评论 -
day69 中间件、CSRF、缓存、信号、bootstrap
中间件django请求的生命周期:发送请求 URL路由处理 Views处理(去数据库拿数据,去静态文件夹拿HTML模板) 返回给用户而中间件就是在收到请求之后,URL路由处理之前的东西,他可以帮我们过滤请求,做一些处理等等。在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES变量,其中每一个元素就是一个中间件。中间件中可以定义四个方法,分别是:process_request(self,request) process_view(self, .转载 2020-05-09 14:40:47 · 535 阅读 · 0 评论 -
day68 From、ModelForm拾遗
概述Form 强大的数据验证ModelForm 强大的数据验证 适中的数据库操作自动显示所有字段小方法:之前我们把字段放在前端显示都是这样:{{obj.name}}{{obj.emile}}……一个字段需要写一句,如果字段非常多的话,很麻烦。其实Form对象里面有个功能,可以帮我们一键生成相应标签,把对应字段显示出来,form里面有多少字段就列多少字段:{...原创 2020-04-30 14:03:03 · 107 阅读 · 0 评论 -
day67 django debug toolbar安装
安装:python:pip install django-debug-toolbar setting里操作这些:INSTALLED_APPS里加上'debug_toolbar' 加上INTERNAL_IPS = ['127.0.0.1',] MIDDLEWARE 里加上'debug_toolbar.middleware.DebugToolbarMiddleware', 加上STATICF...原创 2020-04-27 17:31:57 · 133 阅读 · 0 评论 -
day67 Model拾遗
目录概述:Model,Form,Model form三者区别和具体作用Model具体解说:表的关系概述:自己创建第三张表示例:系统生成第三张表示例:一对一对应:字段操作:字段的参数:概述:Model,Form,Model form三者区别和具体作用Model :数据库操作,生成数据库表等等Form:进行请求验证(Form表单验证)Model for...原创 2020-04-27 16:32:04 · 113 阅读 · 0 评论 -
day66 评论功能的实现
第一种方法:把全部评论都一次列出来,需要用递归的方式实现:class Node: @staticmethod def digui(ret, row): for rt in ret: if rt['id'] == row['parent_id']: row['children'] = [] ...原创 2020-04-23 22:35:20 · 219 阅读 · 0 评论 -
day66 手贱删除了数据库表修改了字段怎么解决
平时我们用django的models模块生成数据库表的时候都用这么两个指令:①pythonmanage.pymakemigrations 先生成数据库的脚本(就是在migrations文件夹里面生成一个文件,他会帮你写一个类,而这个类,里面是帮你写好的sql语句)②pythonmanage.pymigrate 这个指令会帮你把前面写好的sql语句同步到数据库,我们就能看...原创 2020-04-23 18:35:41 · 202 阅读 · 0 评论 -
day65 django ORM操作
字段操作 class User(model.Model); u=字段用处: 1 .admin中的字段验证 2. obj.clean_fields() 进行自定义的验证 3. 利用Djanfo Form进行验证,此时前台和后台的操作分开 但form和model里的字段重复【推荐使用】...原创 2020-04-21 22:58:52 · 253 阅读 · 0 评论 -
day65 获取用户设备,抽屉点赞效果实现
获取用户设备原创 2020-04-21 22:28:04 · 102 阅读 · 0 评论 -
day64 邮箱发送验证码,手机验证码 的代码实现
import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrdef email(email_list, content, subject="这里写发送主题(标题)"): #email_list就是给谁发,可以群发! msg = MIMEText(content, ...原创 2020-04-17 16:43:17 · 423 阅读 · 0 评论 -
day64 表结构设计、登录注册分解实现
from django.db import modelsclass SendMsg(models.Model): #primary_key:主键 AutoField:自增 nid = models.AutoField(primary_key=True) #CharField:字符型字段 必需参数:max_length 规定最大长度 code ...原创 2020-04-17 16:04:44 · 158 阅读 · 0 评论 -
富比较方法__lt__、__gt__
今天老师写代码的时候用了ctime__gt=limit_day, times__gt=9来表示大于小于。。。看的我这是一脸懵逼,查了资料如下:Python的富比较方法包括__lt__、__gt__、__le__、__ge__、__eq__和__ne__六个方法,分别表示:小于、大于、小于等于、大于等于、等于和不等于,对应的操作运算符为:<、>、<=、>=、==...原创 2020-04-17 15:20:22 · 374 阅读 · 0 评论 -
day63 牛逼的django From组件 下
required=True, 是否允许为空,默认是不允许 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容(就是标签前面显示的字符串,只有在前端写了才会显示,前端不设置他就没用) 还有label_tag 放在前端用于锁定光...原创 2020-04-09 19:46:34 · 127 阅读 · 0 评论 -
day61 文件上传的三种方式
文件上传的三种方式:-form表单上传文件-ajax上传文件-基于from表单和iframe自己实现ajax请求原创 2020-04-02 22:37:35 · 119 阅读 · 0 评论 -
JSONP原理 附JSONP代码
JSONP原理原创 2020-04-02 16:39:08 · 157 阅读 · 0 评论 -
day61 用户管理系统全部作业代码
git下载和安装参考至:https://mp.weixin.qq.com/s/DtKv96uSLHDNadBieboGSw项目代码上传到github参考至:https://blog.csdn.net/qq_41782425/article/details/85370032遇到问题参考:https://www.cnblogs.com/superman-21/p/12295508.html...原创 2020-04-01 22:51:11 · 181 阅读 · 0 评论 -
day61 用户管理多对多操作,左右移动实例
复习:通过A表往第三张表进行操作:obj.m.add 增加obj.m.remove 删除obj.m.clear 清空obj.m.set 更新关联关系models.tb.objects.filter(name='lalal') 查找用户=什么models.tb.objects.exclude(name='lalal') 查找用户!=什么可以用它来查找当前没有老师教的...原创 2020-04-01 20:42:10 · 107 阅读 · 0 评论 -
day60 老师列表增加修改
后端全部代码:#老师管理@authdef handle_teacher(request): # 先拿到当前登录人的名字 current_user = request.session.get('username') # 拿到当前登录人的身份 identity = request.session.get('identity') # 拿到登录人的ID...原创 2020-03-18 19:22:25 · 123 阅读 · 0 评论 -
day60 一对多数据前后端配合的几种渲染方式
第一种渲染方式:后端拿全部老师列表,前端循环显示。缺点:循环一次就要去数据库查询一次数据,效率极低,不推荐。前后端代码:teacher_list = models.teacher.objects.all() <table border="1"> <thead></thead> <tbody>...原创 2020-03-17 17:51:01 · 266 阅读 · 0 评论 -
day60 数据库操作一对多,多对多
更多参考至:https://www.cnblogs.com/wupeiqi/articles/5246483.html原创 2020-03-17 11:30:11 · 250 阅读 · 0 评论 -
django项目创建的标准动作
11111原创 2020-03-13 15:45:22 · 155 阅读 · 0 评论 -
WEB框架的本质(就是帮我们快速开发网站的工具)
网络上任何的交互,实际上都是基于socket进行的,但凡是连接肯定是socket。我们打开一个网页,实际上就是给网站发送了一个HTTP请求,HTTP请求是无状态,短连接,体现在:连我一次,回你一次就断开连接了。HTTP是建立在TCP之上,实际上他就是个TCP,能来回交互的,我们认为他是TCP。TCP(比如SOCKET连接的):不主动断开,就能一直发。WEB应用(也就...原创 2020-03-13 14:44:53 · 123 阅读 · 0 评论 -
ORM的原理
请简述ORM的原理(工作机制):这是一道面试题,偶然看到,决定了解一下:首先得知道ORM是什么东西:ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法。O R M 技术是在对象和...原创 2020-03-12 18:37:49 · 2094 阅读 · 0 评论 -
关于唯一ID
https://blog.csdn.net/silence_xiao/article/details/82251420https://blog.csdn.net/qq_38641985/article/details/83031637https://www.liaoxuefeng.com/article/1280526512029729做作业遇到个问题。用户注册要生成一个唯一...原创 2020-03-05 15:07:33 · 177 阅读 · 0 评论 -
报错信息(AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY).
1.在models建表的时候 需要自增的列后面可以加上这句话(primary_key=True),他就会自动自增。2.如果建表时候忘了,后期也可以直接在modify table里面修改,选中primary key就OK...原创 2020-03-02 18:17:56 · 4674 阅读 · 0 评论 -
QuerySet数据处理问题
用.filter() .values() 对数据库操作查询结果时会返回QuerySet结果(一个可迭代的字典序列),长这样:<QuerySet [{'unique_id': 1}]>这个数据处理起来非常麻烦,要拿一个数据要费老大劲,为了避免这种情况可以直接在查询的时候用list()包起来,转化成列表。这个时候返回的数据长这样:[{'unique_id': 1}...原创 2020-03-02 17:06:00 · 1338 阅读 · 2 评论 -
(models.E004) 'id' can only be used as a field name if the field also sets 'primary_k
报错信息:app01.student: (models.E004) 'id' can only be used as a field name if the field also sets 'primary_key=True'.解决:models.py里面,字段名字中含有ID的都加上primary_key=True这句话。id=models.CharField(max_length...原创 2020-02-28 12:39:33 · 4554 阅读 · 0 评论 -
day59 manage.py命令
今天老师布置作业。然后发生了个小插曲,数据库的表结构原来直接从migrations文件夹下的models.py文件下就可以修改,我还以为这表用这个文件生成了就不能用他修改了。用的是python manage.pymigrate这个命令(使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建、修改、删除数据表,新增、修改、...原创 2020-02-20 16:24:52 · 98 阅读 · 0 评论 -
day59 前端对数据增删改查几种方式(附前后端实现代码)
增:1.模态对话框分为两种情况,第一种,from表单直接提交数据,后台获取到数据,没问题直接添加,完事返回页面,用GET请求访问,页面就刷新了就显示新的数据了。优点:简单。这种方式存在的问题:from方式提交,页面一定会刷新!在后台加判断,判断数据是否为空等等问题的时候,如果失败的话,错误信息也没有办法显示,用户根本就不知道数据没有提交成功。于是就引出了第二种方式,第二种:from+A...原创 2020-01-17 16:15:54 · 1283 阅读 · 0 评论 -
day59 django分页
1.django自带方法实现分页from django.shortcuts import renderfrom django.core.paginator import Paginator, EmptyPage, PageNotAnIntegerL = []for i in range(999): L.append(i)def index(request): cu...原创 2020-01-08 20:48:13 · 114 阅读 · 0 评论 -
day59 前端向后台提交数据的几种方式
1.莫泰对话框(数据少的情况下推荐使用)①直接用from表单的方式提交数据,优点是简单,缺点是错误信息看不到。②Ajax提交,其中又分为两种:1.有错误就显示错误信息,无错误就刷新页面(JS ---> location.relad() )。2.有错误,显示错误信息,无错误,局部添加(JQuery --->通过ON绑定事件)。缺点:个人觉得这种方法特别特别特别...原创 2020-01-08 16:55:41 · 350 阅读 · 0 评论 -
day59 莫泰对话框到底是什么
老师天天说莫泰对话框~莫泰对话框~我们知道这名词,也知道代码咋写。。。但是一直木有啥理解。。。我觉得他就是个普通的框啊。又搜了其他资料,补充自己的理解:模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模...原创 2020-01-08 16:29:26 · 197 阅读 · 0 评论 -
day59 后端传给前端数据,前端不显示的问题。
做作业的时候遇到一个非常非常非常奇怪的问题。后端函数从数据库拿到数据,然而在前端数据却怎么也显示出来。1.先排查数据库数据有没有问题,没有。2.检查在后端数据库能不能显示出来,能显示出来。3.重新写一个前端页面,只显示这个数据,看看能不能显示出来。发现是可以的????甚至我重新在后端写个函数,直接返回那个不能显示数据的页面,竟然发现不能显示的数据,显示成功了?这特喵的是为什...原创 2020-01-07 13:57:10 · 6813 阅读 · 0 评论 -
day59 母版使用
母版继承最少要写三部分:内容部分:{% block 定义母版名字 %}{% endblock %}CSS样式部分:</style>后面:{% block css %}{% endblock %}JavaScript样式部分:<script src="jquery.js"></script>后面:{% bloc...原创 2020-01-03 17:32:05 · 64 阅读 · 0 评论