11 2023 档案
摘要:# defer和only(查询优化相关) # only保持是book对象,但是只能使用only指定的字段 # books = models.Book.objects.all().only('name') # print(books[0].name) # print(books[0].price) #
阅读全文
摘要:# 原生sql(有些sql用orm写不出来) # from django.db import connection # # cursor = connection.cursor() # # cursor.execute("""SELECT * from app01_book where id = %
阅读全文
摘要:F查询:取出数据库的某个字段的值 # 把read_num都加1 from django.db.models import F ret=models.Book.objects.all().update(read_num=F('read_num')+1) print(ret) #查询评论数大于阅读数的书
阅读全文
摘要:group by 使用 select * from 表名 group by 分组字段名; 严格模式的修改: 1.查看严格模式 show variables like "sql_mode"; 2.修改严格模式 set global sql_mode'ONLY_FULL_GROUP_BY’; 3.退出重
阅读全文
摘要:pip3 install django # 本质是去https://pypi.python.org/simple,搜这个模块,会根据你的平台下载在一个安装包(windows平台是whl),下载完,再安装 # pip安装失败的情况# 我们可以绕过它,有了whl文件以后,自己装# https://www
阅读全文
摘要:基于双下划线的跨表查询 : # 连表查询 # 基于对象的跨表查询,先查对象,通过对象再去查另一个对象(正向:字段名,反向:表名小写/表名小写_set.all()) # 地址为山东的作者写的所有书 # author_detail=models.AuthorDetail.objects.get(addr
阅读全文
摘要:# 跨表查询有两种方式 -基于对象的跨表查询:子查询 -基于双下划线的跨表查询:关联查询,连表查询 # 基于对象的跨表查询 -查询主键为1的书籍的出版社所在的城市 # 基于对象的跨表查询(子查询) # 一对多 # 查询主键为1的书籍的出版社所在的城市 # book=models.Book.objec
阅读全文
摘要:一对多添加记录: publish=models.Publish.objects.create(name='北京出版社',addr='北京',phone='0536-12345678',email='邮箱地址') # 新增西游记图书 book=models.Book.objects.create(na
阅读全文
摘要:1 图书表:book,作者表:author,作者详情表:authordetail,出版社表:publish,(第三张中间表)2 作者跟作者详情:是一对一,关联字段写在哪一方都可以3 图书跟出版社:是一对多,一对多关系一旦确立,关联字段写在多的一方4 图书和作者:是多对多,多对多的关系需要建立第三张表
阅读全文
摘要:1 时区和国际化问题 ```pythonsetting.py中1 后台管理汉语问题 LANGUAGE_CODE = 'zh-hans' # 管理后台看到的就是中文2 时区问题(使用东八区) TIME_ZONE = 'Asia/Shanghai' USE_TZ = False``` 2 django
阅读全文
摘要:# 在脚本中调用djagno服务import osif __name__ == '__main__': #1 引入django配置文件 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'day67.settings') # 2 让djagno启动 im
阅读全文
摘要:删除表记录: # 删除的两种方式 # 第一种:queryset的delete方法 # res=models.Book.objects.all().delete() # print(res) # 第二种:对象自己的delete方法 # book = models.Book.objects.all().
阅读全文
摘要:#1 价格在[100,200,300]这个范围内Book.objects.filter(price__in=[100,200,300]) # 2 大于,小于,大于等于,小于等于Book.objects.filter(price__gt=100)Book.objects.filter(price__l
阅读全文
摘要:<1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude(**kwarg
阅读全文
摘要:1 配置文件粘贴LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, },
阅读全文
摘要:django 创建model 并迁移生成表 在创建记录的写法流程 在Django中,创建一个新的模型并迁移生成表的步骤如下: 在你的应用的models.py文件中定义模型。例如,我们创建一个名为Person的模型,它有name和age两个字段: models.py: zs指代表名 from djan
阅读全文
摘要:一、常用字段和非常用字段 # 常用字段 -IntegerField 整数 -AutoField 自增字段 -BooleanField bool类型 -CharField 字符串类型 -DateField 日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实
阅读全文
摘要:查询名字叫xxx的书 from app01 import modelsdef books(request): # models.Book.objects.create(name='xxx',price=10.34,publish='南京出版社') # # # book=models.Book(nam
阅读全文
摘要:常见字段 AutoField 自增 int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 CharField varchar类型 字符类型,必须提供max_length参数, max_length表示字符长度 DecimaFie
阅读全文
摘要:# 三种方式 第一种: <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css"> 第二种: {% load static %} <link rel="stylesheet" href="{% static 'boot
阅读全文
摘要:# 可以生成一片模板中的代码块# 使用:5步 -第一步:在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag -第二步:在app中创建templatetags包(包名只能是templatetags,不能改) -第三步:在包内,新建py
阅读全文
摘要:1 模板的导入 -第一步:新建一个 xx.html,把好看的模板写入(写的事片段) <div class="panel panel-danger"> <div class="panel-heading"> <h3 class="panel-title">重金求子</h3> </div> <div c
阅读全文
摘要:1 自定义过滤器 -第一步:在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag -第二步:在app中创建templatetags包(包名只能是templatetags,不能改) -第三步:在包内,新建py文件(如:my_tags.p
阅读全文
摘要:MTV的流程 Django 的 MTV(Model-Template-View)架构定义了 Web 应用程序的三个核心组件:模型(Model)、模板(Template)和视图(View)。下面是 Django 应用程序中这三个组件如何协同工作的流程: 请求处理: 当用户在浏览器中发起一个请求(例如,
阅读全文
摘要:模板渲染成标签还是原封不动的字符串: xss攻击:是什么,如何预防?django已经处理了xss攻击,它的处理原理是什么 XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进
阅读全文
摘要:模板语法之变量 DTL:Django Template Language DTL 是指 Django 模板语言(Django Template Language),它是 Django 框架中用于构建动态网页视图的一种模板系统。DTL 提供了一种简单且强大的方式来定义和渲染 HTML 或其他类型文本的
阅读全文
摘要:# 1 请来了,路由匹配成功执行 path('index/', views.Index.as_view()), 执行views.Index.as_view()()# 2 本质是执行as_view()内部有个闭包函数view()# 3 本质是view() 》dispatch()# 4 dispatch
阅读全文
摘要:views.py: def index(request): num = 10 ss = 'lqz is handsome' b = False ll = [1, 2, 43, {'name': 'egon'}] dic = {'name': 'lqz', 'age': 18} def test():
阅读全文
摘要:模拟发送http请求(控制请求路径,请求方式,请求头,请求体) form表单,提交地址: # action#1 不写,默认向当前地址发送请求#2 /index/,向当前域(http://127.0.0.1:8000/)的/index/发送请求#3 http://127.0.0.1:8000/inde
阅读全文
摘要:## html注意编码方式<form action="/index/" method="post" enctype="multipart/form-data"> <p>用户名:<input type="text" name="name"></p> <p>密码:<input type="passwor
阅读全文
摘要:视图层之请求对象: def index(request): ''' request:django封装的对象,它的类是WSGIRequest,它里面包含了所有http请求的东西 ''' print(request) print(type(request)) # from django.core.han
阅读全文
摘要:# CBV基于类的视图(Class base view)和FBV基于函数的视图(Function base view)# 之前学的全是FBV,写的是视图函数 # 写视图类(还是写在views.py中)## 第一步,写一个类,继承View from django.views import View c
阅读全文
摘要:从django2.x以后,建议使用path,是一个准确路径,用来解决数据类型转换问题与正则表达式冗余问题 django2.0中的re_path与1.0的url一样传入的第一个参数都是正则表达式,用法跟url一模一样 from django.urls import re_path # django2.
阅读全文
摘要:1 路由参数 # 第一个参数是正则表达式 # 第二个参数是视图函数内存地址 # 第三个参数是个字典 {'name':lqz,'age':18},给视图函数传递默认值 # 第四个参数name,当前路由的别名,用作反向解析 url(r'^home2/', views.home,{'name':'lqz'
阅读全文
摘要:# 路由匹配 url(r'test',views.test), url(r'testadd',views.testadd) """url方法第一个参数是正则表达式 只要第一个参数正则表达式能够匹配到内容 那么就会立刻停止往下匹配 直接执行对应的视图函数 你在输入url的时候会默认加斜杠 django
阅读全文
摘要:表与表之间的关系 一对多 多对多 一对一 没有关系 判断表关系的方法:换位思考"""图书表 出版社表 作者表 作者详情表 """图书和出版社是一对多的关系 外键字段建在多的那一方 book 图书和作者是多对多的关系 需要创建第三张表来专门存储 作者与作者详情表是一对一"""from django.d
阅读全文
摘要:# 1.配置文件中配置 DATABASES = 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'day60', 'USER':'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'P
阅读全文
摘要:orm不会帮你创建库 只能创建到表的层面需要你自己提前创建好库"""# 对象关系映射表 类记录 对象数据 对象属性/方法"""能够让一个不会sql语句的python程序员也能够简单快捷的操作数据库,极大的提升开发效率""" # 去应用下的models.py中书写模型类 # 类 模型类 # 表 模型表
阅读全文
摘要:request.method # 获取当前请求方式 全大写的字符串 POST或者GET request.method # 返回请求方式 并且是全大写的字符串形式 <class 'str'>request.POST # 获取用户post请求提交的普通数据不包含文件 request.POST.get()
阅读全文
摘要:mysql是一个数据库管理软件(本质就是一个套接字程序 应当有一个服务端一个客户端) 数据服务器 》运行有数据库管理软件服务器的计算机 关系型数据库:orcale、 db2、 sqlserver 、mysql 非关系型数据库:redis、 memcache 、mongodb 示例链接:https:/
阅读全文
摘要:1 新建static文件 将静态文件拖进来,js,css这些静态文件2 需要在setting中配置 在setting.py中 # 静态文件配置相关 STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,'static'),
阅读全文
摘要:1 视图函数 views.py 函数(可以不放在views中,但是通常放在里面)2 视图函数之请求对象 -# 1 请求方式(GET,POST) 浏览器地址栏中发出的请求都是get请求 print(request.method) -# 2 请求参数 get 请求这种形式:http://127.0.0.
阅读全文
摘要:1 地址和视图函数的映射关系 urls.py 文件 # urlpatterns列表,列表内放了url函数的执行结果# 使用很简单,复制一行,改一下第一个参数(正则表达式),第二个参数是视图函数内存地址urlpatterns = [ url(r'^admin/', admin.site.urls),
阅读全文
摘要:1 django目录介绍 -day60 项目名 -app01 app的名字 -migrations 数据库变更相关记录(你不要删,也不要改) -admin.py 后台管理(创建项目如果没有选,就没有) -apps.py app的相关配置,不用管 -models.py 数据库相关(重点) -tests
阅读全文
摘要:import os # BASE_DIR:项目根路径BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # SECRET_KEY:密钥,项目中默认的一些加密用它(不需要关注,可以改,但是不能删)SECRET_K
阅读全文
摘要:linux:ps aus|grep会显示id号Windows:dll 调SetWindowsHookEx接口钩子 机制,是正常的工作机制,用tasklist会显示一个程序的ID号,可以做唯一的如果监听的ID号是0会坚挺所有窗口的信息理解为通过一个进程控制另一个进程键盘––––––––>窗口锁定:鱼不
阅读全文
摘要:操作类: js版本: jquery版本 classList.add() addClass() classList.remove() removeClass() classList.contains() hasClass() classList.toggle() toggleClass() css操作
阅读全文
摘要:jQuery内部封装了原生的js代码(还额外添加了很多的功能),能够让你通过书写更少的代码 完成js操作 类似于Python里面的模块,再前端模块不叫模块,叫类库 兼容多个浏览器的 你在使用jquery的时候就不需要考虑浏览器兼容问题 jquery的宗旨 write less do mors 让你用
阅读全文
摘要:开关灯案例: <div id='d1' class='c1 bg_red bg_green'></div> <button id='d2'>变色</button> <script> let btnEle =document.getElementById('d2') let divEle=docume
阅读全文