django 前三天笔记2019-07-28

当在终端中用命令创建了一个工程然后在pycharm中打开的时候会有一些问题,其中一个问题就是它没有自动在该工程文件夹下的setting文件中创建dir,这个需要开发人员手动去创建。

打开工程文件夹下的setting文件,在文件中找到'TEMPLATES' ,然后找到键名为dirs的属性,可以看到在值的位置是空的,需要我们手动输入。

我们在[]中输入os.path.join.(BASE_DIR,'Templates') 这样写完以后项目才能找到放置html模板的位置 其中os.path.join做的事情是拼接路径、BASE_DIR是当前项目的路径templates 是模板目录

在工程中的应用中:

              admin.py 所有后台管理的相关内容

               apps.py当前所有子应用所有的配置文件

                migrations:存放将来所有数据库迁移的文件

                models.py mvt中的m 用来跟数据库进行交互的

                test.py 测试模块

                view.py mvt

在django语法中的模糊查询例如  book.object.filter(bookName__endwith=‘。。。。’) 这个是过滤出以...为结尾的bookName ,但此时过滤条件是区分大小写的,要想让其不区分大小写需要在endwith前加上i使其变为iendwith,其他的同理。

列表生成式:用一行代码来简单的生成一个列表

django 中的f 对象主要用来数据库对象中属性与属性之间比较,在使用之前需要导入

from django.db.models import F 

book.objects.filter(bookName__gt=F('bookPrice')

Q对象用于实现 或 与 非 类似sql中的where

一般的与写法 :book.objects.filter(bookName__gt=20,id__lt=3)

使用q对象前需要导入 

from django.db.models import Q

book.objects.filter(Q(bookName__gt=20&Q(bookPrice__lt=3)) 与

book.objects.filter(Q(bookName__gt=20|Q(bookPrice__lt=3))或

book.objects.filter(~Q(pk=3)) #pk代表主键

使用聚合函数 sum avg min man count 来进行一个计算 在使用前也需要导入

from django.db.models import sum

book.objects.aggregate(sum('bookPrice'))  这个语句返回的是一个字典

后见第10张课件

你可能感兴趣的:(django 前三天笔记2019-07-28)