随笔分类 -  django框架

摘要:一、ajax发送文件 ajax发送文件需要借助于js内置对象FormData ab_ajax.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="h 阅读全文
posted @ 2021-12-02 17:18 甜甜de微笑 阅读(134) 评论(0) 推荐(0)
摘要:1.首页搭建2.图书展示3.添加书籍 4.编辑功能 1.将用户需要编辑的数据主键值发送给后端 2.后端查询出相应的数据对象并返回一个编辑页面 3.在该编辑页面上展示出待编辑对象对应的原始数据 4.用户编辑点击编辑按钮发送数据 5.后端获取并修改相应的数据5.删除功能 1.将用户想要删除的数据主键值发 阅读全文
posted @ 2021-12-01 23:32 甜甜de微笑 阅读(53) 评论(0) 推荐(0)
摘要:一、MTV与MVC模型理论 MTV模型 M:models模型层 T:template模板层 V:views视图层 MVC模型 M:models模型层 V:views视图层 C:controllar控制层(urls.py...做分发) django自称为MTV模型 其实本质也还是MVC模型 大部分的w 阅读全文
posted @ 2021-12-01 15:44 甜甜de微笑 阅读(64) 评论(0) 推荐(0)
摘要:一、多对多三种表关系 全自动:利用orm自动帮我们创建第三张关系表 class Book(models.Model): name = models.CharField(max_length=32) authors = models.ManyToManyField(to='Author') class 阅读全文
posted @ 2021-12-01 15:22 甜甜de微笑 阅读(131) 评论(0) 推荐(0)
摘要:choices参数(数据库字段设计常见) 用户表 性别 学历 工作经验 是否结婚 是否生子 客户来源 ... 针对某个可以列举完全的可能性字段,我们应该如何存储 只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 """ class User(models.Model): 阅读全文
posted @ 2021-12-01 14:38 甜甜de微笑 阅读(67) 评论(0) 推荐(0)
摘要:一、 ORM字段 #verbose_name 中文标识 AutoField (专门用于主键) int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 mysql中每个表只能设置一个自增字段 IntegerField 一个整数类型, 阅读全文
posted @ 2021-11-30 19:43 甜甜de微笑 阅读(76) 评论(0) 推荐(0)
摘要:1 前期准备2 一对多外键增删改查3 多对多外键增删改查(就是在操作第三张关系表)4 正反向的概念5 多表查询6 聚合查询7 分组查询8 F与Q查询9 django中开启事务 1 前期准备 1.1 建表:models.py 书和出版社是一对多书和作者是多对多作者和作者详情是一对一 class Boo 阅读全文
posted @ 2021-11-29 23:20 甜甜de微笑 阅读(59) 评论(0) 推荐(0)
摘要:class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8, decimal_places=2) publish_time = models.Da 阅读全文
posted @ 2021-11-26 23:01 甜甜de微笑 阅读(162) 评论(0) 推荐(0)
摘要:1 前期准备2 数据的增删改查3 必知必会13条4 QuerySet类型5 查看内部sql语句的方式6 神奇的双下划线查询7 批量插入 django自带的sqlite3数据库对日期格式不是很敏感 处理的时候容易出错 我们使用mysql 一、 前期准备 1.1 新建名为app01的app,在app01 阅读全文
posted @ 2021-11-26 23:00 甜甜de微笑 阅读(56) 评论(0) 推荐(0)
摘要:一、自定义过滤器、标签、inclusion_tag 做一个大致了解即可(使用频率不高)过滤器相当于python中的内置函数 自定义过滤器相当于python中自定义函数自定义标签也是 自定义过滤器 标签 inclusion_tag都需要三步走战略 1.在应用文件夹下创建一个名字必须叫templatet 阅读全文
posted @ 2021-11-26 20:57 甜甜de微笑 阅读(59) 评论(0) 推荐(0)
摘要:一、模板语法传值 url(r"^func/",views.func)def func(request): i=111 f=11.1 s='jason' l=[11,22,33] d={"username":"jason","pwd":123} t=(11,22,33) b=True se={11,2 阅读全文
posted @ 2021-11-25 21:55 甜甜de微笑 阅读(104) 评论(0) 推荐(0)
摘要:一、FBV与CBV1.FBV 基于函数的视图 def index(request): return HttpResponse(...) 2.CBV 基于类的视图——CBV会自动判断当前请求方法并自动匹配类中的方法执行 # 视图函数即可以是函数也可以是类 from django.views impor 阅读全文
posted @ 2021-11-25 21:30 甜甜de微笑 阅读(83) 评论(0) 推荐(0)
摘要:一、form表单提交文件 1.method必须是post 2.enctype参数必须是multipart/form-data (如果你把编码格式改成formdata,那么针对普通的键值对还是解析到request.POST中,将文件解析到request.FILES中) request.POST无法获取 阅读全文
posted @ 2021-11-25 20:53 甜甜de微笑 阅读(130) 评论(0) 推荐(0)
摘要:一、小白必会三板斧(视图函数必须返回一个HttpResponse对象) HttpResponse class HttpResponse: pass render def render(...): return HttpResponse(...) redirect def redirect(...) 阅读全文
posted @ 2021-11-25 20:24 甜甜de微笑 阅读(130) 评论(0) 推荐(0)
摘要:名称空间 # 当多个应用出现了相同的别名 我们研究反向解析会不会自动识别应用前缀 """ 正常情况下的反向解析是没有办法自动识别前缀的 """ # 名称空间 # 总路由 url(r'^app01/',include('app01.urls',namespace='app01')), url(r'^a 阅读全文
posted @ 2021-11-24 21:45 甜甜de微笑 阅读(48) 评论(0) 推荐(0)
摘要:一、路由匹配 基本格式: url(正则表达式,函数或者类型地址) from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明: 正则表达式:一个正则表达式字符串 views视图函数:一个可调 阅读全文
posted @ 2021-11-24 20:31 甜甜de微笑 阅读(145) 评论(0) 推荐(0)
摘要:简易版本django请求生命周期流程图(重要) 该图是我们学习的django的流程 也是后期复习django重要的手段 浏览器发送请求(数据格式遵循http格式)web服务网关接口(wsgiref默认、uwsgi生产环境)django中间件(类似于django的门户)路由层(路由匹配)视图层(核心逻 阅读全文
posted @ 2021-11-24 19:20 甜甜de微笑 阅读(77) 评论(0) 推荐(0)
摘要:一对多外键关系 """在orm中 外键字段建在多的一方,在实际表中publish会自动加上_id后缀(自己在定义的时候不要加)""" 多对多外键关系 """在orm中 可以直接写在查询频率较高的表中(自动创建第三张表)并不会在表中展示出来 而是告诉orm自动创建第三张关系表""" 一对一外键关系 " 阅读全文
posted @ 2021-11-23 23:58 甜甜de微笑 阅读(95) 评论(0) 推荐(0)
摘要:需求: 1.查看当前所有表数据(前端展示) /home/ 2.书写用户注册页面(前端展示) /register/ 3.编辑用户数据 4.删除用户 前期准备 settings.py MIDDLEWARE = [ 'django.middleware.security.SecurityMiddlewar 阅读全文
posted @ 2021-11-23 23:57 甜甜de微笑 阅读(256) 评论(0) 推荐(0)
摘要:字段增删改查 # 当表中已经有数据存在的情况下如果添加新的字段那么需要设置null或者default password = models.IntegerField(verbose_name='密码',null=True) # pwd int comment '密码' age = models.Int 阅读全文
posted @ 2021-11-23 21:45 甜甜de微笑 阅读(54) 评论(0) 推荐(0)