1. 内容回顾

1. 基础必会三件套
from django.shortcuts import HttpResponse, render, redirect

- HttpResponse("响应体内容")
- render(request, "login.html",{“k”: "v"}) --> 打开一个文件,把文件的内容读取出来
- redirect("具体的网址") --> 回复一个让浏览器请求我指定网址的响应
2. form表单提交数据,注意事项:

1. 是form不是from,必须设置action和method这两个属性
2. 获取用户输入的表单标签都要放在form里面,必须要有name属性
3. 必须要有submit按钮

3. Django如何获取form表单post过来的数据

1. request.POST --> 所有数据的大字典
request.POST.get("pwd")
2. request.method --> 得到的是请求的方法(大写的) - GET/POST

4. GET和POST

1. 什么时候用GET?

1. 获取一个网页的时候
2. 搜索引擎检索 /web?query=新垣结衣

  2. 什么时候用POST?
    向服务端提交数据 (form表单提交数据)

5. Django中的APP概念

1. 创建APP命令
python3 manage.py startapp app名字
2. 告诉Django你新建的app叫啥
settings.py里面,INSTALLED_APPS这个配置项里面加上你的app

6. ORM

1. ORM概念和优劣势
2. ORM的本质
对象 关系 映射

类 <--> 数据表
对象 <--> 数据行
属性 <--> 字段
3. Django中ORM的使用
1. 手动新建一个数据库
2. 告诉Django连接哪个数据库
settings.py里面配置数据库连接信息:
# 数据库相关的配置项
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 告诉Django使用MySQL的那套代码
'NAME': 'day63', # 数据库的名字
'HOST': '127.0.0.1', # 主机
'PORT': 3306, # 端口
'USER': 'root', # 用户名
'PASSWORD': '123' # 密码
}
}
3. 告诉Django用pymysql模块代替默认的MySQLdb去连接MySQL
在和settings.py同目录下的 __init__.py文件中做配置
import pymysql
pymysql.install_as_MySQLdb()

4. 在app下面的models.py文件中 定义 类
必须要继承models.Model
class Publisher(models.Model):
id = models.AutoField(primary_key=True) # 自增的主键
name = models.CharField(max_length=64) # varchar(64)
5. 两条命令
1. python3 manage.py makemigrations --> 把models.py里面的改动登记到小本本上
2. python3 manage.py migrate --> 将登记的改动翻译成SQL语句,到数据库中执行



2. 新建Django项目的步骤:
1. 创建项目(APP)
2. 创建数据库和配置数据库
3. 配置templates和静态文件相关
4. 注释掉 settings.py中 csrf那一行


3. Django项目真正的业务逻辑
1. 输入 127.0.0.1:8000/publisher_list/ --> 返回一个页面,页面上将数据库中所有的出版社要展示出来



4. 今日内容
1. 出版社的删除

怎么知道用户点击删除的时候删除的是哪一条记录
- id用来在数据库中唯一确定一条记录

127.0.0.1:8000/delete_publisher/?id=2

2. 出版社的编辑
设计 URL
127.0.0.1:8000/edit_publisher/?id=2

3. 书籍的增删改查
ORM中的外键关联
publisher = models.ForeignKey(to=Publisher) # 外键关联Publisher这张表

book_obj.publisher --> 和我这本书关联的出版社对象
book_obj.publisher_id --> 和我这本书关联的出版社的id值,也就是数据库中真正存的字段值

1. 查和增

最新文章

  1. 简化SSH框架的整合
  2. html5对密码加密
  3. Android 数据存储之 文件存储
  4. javascript 特效实现(2)——回到顶部效果
  5. java web工程读取及修改配置文件
  6. MSSQL中把表中的数据导出成Insert
  7. 九度OJ 1348 数组中的逆序对 -- 归并排序
  8. 手机访问电脑wampServer本地环境页面
  9. Oozie时出现org.apache.oozie.service.ServiceException: E0103: Could not load service classes, Cannot load JDBC driver class &#39;com.mysql.jdbc.Driver&#39;
  10. git学习整理(1)git clone 理解
  11. Java-IO之CharArrayReader
  12. datatable 给某一列添加title属性
  13. DAY04、流程控制if、while、for
  14. Dubbo优雅关机原理
  15. Nginx 学习笔记(九)申请Let&#39;s Encrypt通配符HTTPS证书
  16. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第九集-补充-之安装jdk】
  17. centos7指定yum安装软件路径
  18. java的并发和多线程
  19. wordpress 修改域名后的403
  20. 简单例子让你很好的理解:协议与委托 (Protocol and Delegate)

热门文章

  1. axios请求配置
  2. Apache虚拟主机的搭建及相关问题解决
  3. OC之判断数组最大最小值
  4. C语言中左值和右值的理解
  5. Tabluea、Smartbi可视化仪表盘创建流程图分享
  6. BI可视化在线分析工具,推荐这2个BI工具!
  7. 谁说EXCEL不能处理大数据?那是你用错了工具
  8. 替代Tableau,思迈特软件Smartbi让Excel成为企业级自助分析平台
  9. 【01】Spring Boot配置文件相关
  10. 【C#反射】Type的用法