内容回顾

1.django处理请求的流程:

1. 在浏览器的地址栏输入地址,回车发get请求;
2. wsgi模块接收请求;
3. 在urls.py文件中匹配地址,找到对应的函数;
4. 执行函数,返回响应。 2.发请求的方式: 1. 输入地址 —— GET
2. form 默认是get
3. form 发post请求
4. a标签 get 3.函数的返回值 HttpResponse('显示的内容') —— 》 字符串 render(request,'HTML文件名', { 'k1': v1 } ) —— 》 完整的HTML页面 redirect('要跳转的地址') ——》 重定向 Location: ‘'要跳转的地址’ 4.外键 表示多对一的关系 for book in Book.objects.all(): # 所有的书籍对象
book.id # 主键
book.name # 名称
book.pub # 书籍关联的出版社对象
book.pub_id # book表中对应出版社的ID # 增加
Book.objects.create(name='xxxx',pub_id='111')
Book.objects.create(name='xxxx',pub=pub_obj)
# 删除
Book.objects.get(pk=1).delete()
Book.objects.filter(pk=1).delete()
# 编辑
book_obj.name = 'new name'
book_obj.pub_id = '11'
book_obj.pub =pub_obj
book_obj.save() 5.模板的语法 {% if xxx == xxx %} xxxx {% elif 条件 %} www {% else %} xxx {% endif %} 今日内容 多对多的关系 作者的增删改查 model: # 作者
class Author(models.Model):
name = models.CharField(max_length=32, unique=True)
books = models.ManyToManyField('Book') 展示: for author in all_authors:
print(author)
print(author.pk)
print(author.name)
print(author.books, type(author.books)) # 多对多关系管理对象
print(author.books.all(), type(author.books.all())) # 多对多关系管理对象
print('*' * 30) 增加: name = request.POST.get('name')
books_id = request.POST.getlist('books_id') # 插入到数据库中
author_obj = models.Author.objects.create(name=name)
# 绑定书籍和作者的关系
author_obj.books.set(books_id) 正向查询: 多对多字段在作者表中: 作者 ——》 书籍 author_obj.books ——》 多对多的管理对象 author_obj.books.all() ——》 当前作者所关联的所有书籍对象 反向查询: 书籍 ——》 作者 book_obj.author_set ——》 多对多的管理对象 book_obj.author_set .all() ——》 当前书籍所关联的所有作者对象

day61 Pyhton 框架Django 04的更多相关文章

  1. day60 Pyhton 框架Django 03

    day61 内容回顾 1.安装 1. 命令行: pip install django==1.11.18 pip install django==1.11.18 -i 源 2. pycharm sett ...

  2. pyhton框架Django之cookie和session

    一,cookie和session的理解 cookies 是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies.它保存在浏览器下的某个文 ...

  3. day64 Pyhton 框架Django 07

    day67 内容回顾 视图 1. CBV 定义 from django.views import View class Addpub(View): def get(self,request): sel ...

  4. day63 Pyhton 框架Django 06

    内容回顾 1.装饰器 装饰器:是一个闭包函数,在不改变原函数的代码和调用方式的基础上,给原函数增加功能. def wrapper(func): def inner(*args,**kwargs): # ...

  5. day62 Pyhton 框架Django 05

    内容回顾 1.变量 render(request,'模板文件名',{ k1:v1 }) {{ k1 }} {{ list.0 }} {{ dict.key }} {{ dict.keys }} {{ ...

  6. day58 Pyhton 框架Django 01

    内容回顾 python基础    网路编程    并发编程    数据库    前端     osi7层           tcp/ip 5层模型    应用层    表示层             ...

  7. python运维开发(十七)----jQuery续(示例)web框架django

    内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...

  8. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  9. Python3.5学习十八 Python之Web框架 Django

    Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...

随机推荐

  1. SpringBoot2 引入 Aop

    一步小心就掉进坑里面了:SpringBoot2 引入 Aop 不生效 SpringBoot2.1.3版本 首先,引入依赖 <!--面向切面--> <dependency> &l ...

  2. Nginx之https配置

    14.1. 对称加密 安全隐患:钥匙除我之外,还有多个人拥有.泄露风险较大,钥匙传递的过程风险较大 14.2. 非对称加密 优缺点:私钥很安全.但是非对称算法开销很大,大批量应用于业务,会导致性能成本 ...

  3. linux系统漏洞扫描工具lynis

    lynis 是一款运行在 Unix/Linux 平台上的基于主机的.开源的安全审计软件.Lynis是针对Unix/Linux的安全检查工具,可以发现潜在的安全威胁.这个工具覆盖可疑文件监测.漏洞.恶意 ...

  4. 吴恩达《深度学习》-课后测验-第二门课 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)-Week 1 - Practical aspects of deep learning(第一周测验 - 深度学习的实践)

    Week 1 Quiz - Practical aspects of deep learning(第一周测验 - 深度学习的实践) \1. If you have 10,000,000 example ...

  5. CSS 常见样式 特殊用法 贯穿线&徽章&箭头

    ### 贯穿渐变线,中间插值- 如图: > ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190427200554843.png) ![在这里插入图片描述 ...

  6. Spring学习(四)IOC详解

    一.简介 概念:控制反转是一种通过描述(在 Java 中可以是 XML 或者注解)并通过第三方(Spring)去产生或获取特定对象的方式.(被动创建) 优势: ① 降低对象之间的耦合 ② 我们不需要理 ...

  7. 2020DASCTF八月浪漫七夕战

    安恒大学 注入点在邮箱注册那里,无法复现了,提一下 ezflask 源代码 #!/usr/bin/env python # -*- coding: utf-8 -*- from flask impor ...

  8. VS2017 Xamarin开发Android时首次部署完成后直接闪退

    项目属性切换到Android选项,在打包属性上有一个[使用共享运行时]的选项要取消勾选,默认打钩时apk文件比较小,但程序无法运行起来. 取消后安装包一小变成几十M,这个目前好像没什么好的解决办法,毕 ...

  9. makefile实验一 make的基本原则、伪目标、以及不使用.PHONY确实现和伪目标一样功能的一种方法

    target: echo "hello_Makefile" .PHONY: clean clean: echo "clean Done .2019" 使用伪目标 ...

  10. 故意使用free掉的内存的一个实验( 常量区/栈)

    故意使用free掉的内存的一个实验 考虑一下两种声明 struct stuff{ char home[10]; int num; char name[10]; }; struct stuff{ cha ...