查漏补缺

路由配置:

urls路由配置(正则,视图,xxx),还有第三个参数,用作反向解析:

浏览器配置:

当我们访问浏览器的时候:

有的时候url需要经常更新,在你的后台更新后那么在前端也要更新,少的话还好说,,多了那可就麻烦了,此时反向解析来了....


 

 render,redirect,HTTPresponse:

render返回渲染的模板;redirect跳转页面;HTTPresponse返回一个字符串;


 

 from django.template import Template,Context  ==  render方法:

context传值假如变量过多可以用local(),但是假如views有100个变量,模板中用1个,他会吧所有的值串过去。。。

深度查询:序列类型在前端可以通过"."的方式进行查找

过滤器:后端串过来的数据跟前端需要渲染的数据可能有细微的差别,此时就出现了过滤器{{name|filter}}

反向查询reverse:原本的查询结果四123,加上reverse之后就是321,颠倒了一下

过滤器:在应用下建templatetags文件,只能是这个文件名,在里边新建任意名字文件,setting中的App下边配置↓

模板中使用自定义的过滤器必须现在模板中导入:{{load xxx}}

自定义标签filter可以传两个{{ xx|filter }}变量;simple_tags可以传多个变量,放在{% simple_tag %}

传多个变量不能放在if 和for中;if可以跟在if 后边


 

查询的时候先分清他是queryset还是model,query必须转换为model对象才可以.出来东西

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Author(models.Model):
    '''作者表'''
    name = models.CharField(max_length=32)
    book = models.ManyToManyField(to="Book")
    def __str__(self):
        return self.name
 
class Book(models.Model):
    '''书表'''
    title = models.CharField(max_length=32)
    price = models.CharField(max_length=32)
    publish = models.ForeignKey(to="Publish")
    def __str__(self):
        return self.title
    #egon出版过的书的出版社信息
 
class Publish(models.Model):
    '''出版社'''
    address = models.CharField(max_length=32)
    def __str__(self):
        return self.address  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
查询语法复习总结
 
# author = models.Author.objects.all()   #查询到所有的作者对象queryset   author多对多book
    # book = models.Book.objects.all()  # 查询到所有的书籍对象queryset       book多对一publish
    # publish = models.Publish.objects.all()   #查询到所有的出版社对象queryset
    # #================================================字段查询============================================================
    # for te in author:
    #     print("======author",te.name)      #查询自己表内的信息
    #     print("======author_book",te.book.first().title)      #通过自己查找多对多的字段
    #     print("======author_book_publish",te.book.first().publish.address)      #通过自己查找多对多的字段,然后查找多对一字段
    # for te in book:
    #     print("========tetetet",te)
    #     print("======book",te.title,te.price)      #查询自己表内的信息
    #     print("========book_publish",te.publish.address)     #通过自己查询多对一的出版社表
    #     print("==========book_author",te.author_set.first())     #通过自己反向查找作者姓名
    # for te in publish:
    #     print("=====publish",te.address)      #查询自己表内的信息
    #     print("=====publish_book",te.book_set.first().title)
    #     print("=======publish_book_author",te.book_set.first().author_set.first())
    #
    #
    # author_book_publish = author.first().book.all().first().title
    # print("==================================",author_book_publish)
    # #============================================双下划线正向查询===========================================================
 
    # author = models.Author.objects.all()  # 查询到所有的作者对象queryset   author多对多book
    # book = models.Book.objects.all()  # 查询到所有的书籍对象queryset       book多对一publish
    # publish = models.Publish.objects.all()  # 查询到所有的出版社对象queryset
 
    # book_title = author.filter(name="egon").values("book__title")      #在author表中查book标的title
    # book_price = author.filter(name="egon").values("book__price")      #在author表中查book表的price
    # book_publish_address = author.filter(name="egon").values("book__publish__address")   #在author表中二次关联查找出版社
    # print("============book_title|book_price",book_title,book_price)
    # print("============book_publish_addredd",book_publish_address)
 
    # #============================================双下划线反向查询===========================================================
    # book_title = publish.filter(address="北京").values("book__title")
    # book_price = publish.filter(address="北京").values("book__price")
    # publish_book = publish.filter(address="北京").values("book__author")
    # publish_author_book = publish.filter(address="北京").values("book__author__name")
    # print("============book_title|book_price",book_title,book_price)
    # print("============publish_book",publish_book)
    # print("============publish_author_book",publish_author_book)
 
    ########################################################################################################################

 

 

posted @   一石数字欠我15w!!!  阅读(626)  评论(3编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示