day61 Pyhton 框架Django 04
内容回顾 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的更多相关文章
- day60 Pyhton 框架Django 03
day61 内容回顾 1.安装 1. 命令行: pip install django==1.11.18 pip install django==1.11.18 -i 源 2. pycharm sett ...
- pyhton框架Django之cookie和session
一,cookie和session的理解 cookies 是浏览器为 Web 服务器存储的一小段信息. 每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies.它保存在浏览器下的某个文 ...
- day64 Pyhton 框架Django 07
day67 内容回顾 视图 1. CBV 定义 from django.views import View class Addpub(View): def get(self,request): sel ...
- day63 Pyhton 框架Django 06
内容回顾 1.装饰器 装饰器:是一个闭包函数,在不改变原函数的代码和调用方式的基础上,给原函数增加功能. def wrapper(func): def inner(*args,**kwargs): # ...
- day62 Pyhton 框架Django 05
内容回顾 1.变量 render(request,'模板文件名',{ k1:v1 }) {{ k1 }} {{ list.0 }} {{ dict.key }} {{ dict.keys }} {{ ...
- day58 Pyhton 框架Django 01
内容回顾 python基础 网路编程 并发编程 数据库 前端 osi7层 tcp/ip 5层模型 应用层 表示层 ...
- python运维开发(十七)----jQuery续(示例)web框架django
内容目录: jQuery示例 前端插件 web框架 Django框架 jQuery示例 dom事件绑定,dom绑定在form表单提交按钮地方都会绑定一个onclick事件,所有查看网站的人都能看到代码 ...
- Web框架——Django笔记
Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序 ...
- Python3.5学习十八 Python之Web框架 Django
Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...
随机推荐
- 【Java】一句话获得你的IP地址
System.out.println(java.net.InetAddress.getLocalHost().getHostAddress());
- Kubernetes探针踩坑记
1. 荒腔走板 最近一两个月生产K8s集群频繁出现短时503 Service Temporarily Unavailable,还不能主动复现,相当郁闷,压力山大. HTTP 5xx响应状态码用于定义服 ...
- 文件操作和OS模块的简单操作
文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电 ...
- Hadoop之MapReduce开发总结
@ 目录 1.输入数据接口:InputFormat 2.逻辑处理接口:Mapper 3.Partitioner分区 4.Comparable排序 5.Combiner合并(可选) 6.Reduce端分 ...
- JVM初认识
运行时数据区域 程序计数器:程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节 ...
- vue-ajax/axios请求函数封装: axios+promise
项目文件目录/src/api ajax.js /** * ajax 请求函数模块 * 返回值为promise对象 */ import axios from 'axios' export default ...
- outh2
之前做天猫精灵对接,就碰到了outh鉴权,当时实现好之后没有细细缕,今天看了一个博主的介绍,贴一下 转载自http://www.ruanyifeng.com/blog/2014/05/oauth_2_ ...
- ASP.NET Web API 2系列(四):基于JWT的token身份认证方案
1.引言 通过前边的系列教程,我们可以掌握WebAPI的初步运用,但是此时的API接口任何人都可以访问,这显然不是我们想要的,这时就需要控制对它的访问,也就是WebAPI的权限验证.验证方式非常多,本 ...
- 面试的加分项:懂点 Nginx 反向代理与负载均衡
学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等.用一句别人开玩笑的话来说,java十年前的技术现在还能用,而前端的技术就不是这样的了 突然想起了d ...
- dubbo学习(九)dubbo监控中心
安装与配置 下载地址:https://github.com/apache/dubbo-admin/tree/master(包含管理控制台和监控中心) PS: 下载前要选择master分支以后再进行下 ...