随笔分类 - Django
摘要:聚合查询 需要借助关键字:aggregate 使用环境:聚合查询通常情况下都是配合分组一起使用的 使用聚合查询,需要导入相关模块 例子 from app01 import models from django.db.models import Max,Min,Sum,Count,Avg # 1 所有
阅读全文
摘要:正反向的概念 正向:外键字段在我手上那么,我查你就是正向 反向:外键字段如果不在手上,我查你就是反向 正向查询按字段;反向查询按表名小写 子查询(基于对象的跨表查询) 1、根据练习题理解 # 1.查询书籍主键为1的出版社 # book_obj = models.Book.objects.filter
阅读全文
摘要:外键字段的增删改查 1、auto_now=False,如果设置为True, 在更新当前记录的数据时候,会自动更新时间 auto_now_add=False,如果设置为True,当插入数据的时候,会把当前时间自动添加进去 publish_time = models.DateTimeField(auto
阅读全文
摘要:普通做法 def user_list(request): user_list = models.User.objects.all() # queryset lst = [] for user in user_list: temp_dict = {} temp_dict['username'] = u
阅读全文
摘要:Ajax优点与精髓 1、精髓 1、异步提交 2、局部刷新 2、优点 不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程) AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。 同步交互:客户端发出一
阅读全文
摘要:FBV FBV: function based view 就是平常在views.py中写的函数 from django.shortcuts import render, HttpResponse # Create your views here. from django.http import Js
阅读全文
摘要:ORM查询方法 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude
阅读全文
摘要:模板语法之传值 1、跟变量相关的都使用双括号 {{}} 2、跟逻辑相关的都使用 {% %} 3、模板文件中取值一律使用点语法 4、在模板文件里面的函数和类,不用加括号,会自动加括号调用, 不能传递参数 模板语法之过滤器 类似于python里面的内置方法 1、语法 {{变量|过滤器:参数}} 2、de
阅读全文
摘要:def index(request): if request.method == 'POST': print(request.FILES) # 获取文件数据 file_obj = request.FILES.get('file') # 文件对象 print(file_obj) with open(f
阅读全文
摘要:json格式的数据作用 前后端数据交互需要使用到json作为过渡,实现跨语言传输数据 JsonResponse对象 序列化字典 from django.http import JsonResponse def test(request): user_dict = {'username': '阿飞',
阅读全文
摘要:url和path Django1.x路由层使用的是url方法 Django2.x和Django3.x版本中路由层使用的是path方法 url()第一个参数支持正则 path() 第一个参数是不支持正则,写什么就匹配什么。 2.x和3.x还支持re_path,相当于1.x中的url,第一个参数支持正则
阅读全文
摘要:名称空间 当多个应用出现相同的别名时,正常情况下的反向解析是没有办法自动识别前缀的,这种情况下就需要用到名称空间 总路由 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^app01/', include('app01.urls', n
阅读全文
摘要:ORM概念 1、ORM是关系映射对象(每个语言里面都有) 2、特点 在操作数据库的时候,不用再写原生的SQL语句,直接通过代码来操作。相对而言,执行效率低了 3、在Django的models.py文件中书写 4、是通过python中的类来映射 类名 >>> 表名 对象 >>> 记录 属性 >>> 字
阅读全文
摘要:路由分发的应用场景 1、Django的每一个应用都可以有自己的templates文件夹,urls.py、static文件夹,正是基于这个特点,Django能够非常好的做到分组开发(每个人只写自己的app),公司中组长只需要将下属写的app全部拷贝到一个新的Django项目中,然后在配置文里面注册所以
阅读全文
摘要:反向解析 通过一些方法得到一个结果,该结果可以直接访问对应的url触发对应的试图函数 最简单的情况 url第一个参数里面没有正则符号 1、先给路由与试图函数起一个别名(目的是方便url里面的test1_1更改) 2、反向解析 2.1、前端反向解析 {% url 别名 %} 2.2、后端反向解析(re
阅读全文
摘要:无名分组 分组就是给某一段正则表达式用小括号括起来 无名分组就是将括号内正则表达式匹配到的内容当作位置参数传递给后面的视图函数 有名分组 就是给正则表达是起一个别名 有名分组就是将括号内正则表达式匹配到的内容当作关键字参数传递给后面的视图函数 注意事项 1、无名分组和有名分组不能混用 2、单个的分组
阅读全文
摘要:路由匹配 url方法第一个参数是正则表达式 只要第一个参数正则表达式能够匹配到内容,那么就会立刻停止往下匹配,直接执行对应的试图函数 / 的作用 ^ 的作用 $ 的作用 $ 可以精确到具体匹配那个字符 首页 浏览器页面不加 / 也能匹配到内容
阅读全文
摘要:常见的FieldType数据库字段类型 1、AutoField:自增Field域,自动增加的一个数据库字段类型,例如id字段就可以使用该数据类型,参数中必须填入primary_key=True 2、BigAutoField:和AutoField相同,只是比AutoField要大,参数中必须填入pri
阅读全文
摘要:静态文件配置 1、定义 静态文件就是前端已经写好的了,能够直接调用使用的文件。拿来就可以直接使用的 2、静态文件的储存 静态文件的存储路径一般是static,默认中是没有这个文件夹,需要我们手动创建这个文件夹,而且在satic文件夹中还可以继续根据不同的功能进行划分 3、静态文件配置 如果不配置的结
阅读全文