Django jason day09

本文回顾了Django中的图书管理系统、MTV模型、多对多关系及Ajax等内容,并详细讲解了如何进行前后端数据传输,包括contentType设置、Ajax发送JSON和文件、利用sweetalert实现二次确认的删除功能,以及批量插入和分页器的实现。
摘要由CSDN通过智能技术生成

每日测验

"""
今日考题:
1.choices参数的应用场景有哪些,如何获取该字段的值
2.django是什么模型的框架,简述MTV与MVC模型
3.多对多表关系有几种创建方式,各有什么特点?
4.什么是ajax,请手写出ajax的基本语法结构及重要参数含义
"""

昨日内容回顾

在django部分,如果你写代码的时候报错了

"""
1.pycharm窗口提示,前端console界面
2.仔细核对代码(单词写错写多)
3.浏览器缓存没有清除
4.端口号可能冲突了,一直跑的是之前的项目
5.重启你的计算机
(自己学会百度搜索问题,出现bug千万不要慌 要冷静分析 自己想出一个排查思路)
"""
  • 图书管理系统图书的增删改查

    """
    将你之前所学的知识点尽量全部都用上(每个人都应该自己能够独立的完成)
    """
    
  • choices参数

    """
    在设计表的时候 针对可以列举完全的可能性字段
    一般都是用choices参数
    """
    gender_choices = ((1,'male'),(2,'female'),(3,'others'))
    gender = models.IntegerField()
    
    # 针对具有choices参数的字段 存储数据的时候还是按照字段本身的数据类型存储没有其他的约束,但是如果你存的字段在你列举的范围内 那么可以自动获取对应关系
    user_obj.gender  # 数字
    user_obj.get_gender_display()  # 固定格式 get_choices参数字段名_display()
    """有对应关系就拿对应关系,没有则还是数据本身不会报错"""
    
    # 自己看看一些模型表的设计 体会choices参数的使用
    
  • MTV与MVC模型

    """
    django自称是MTV框架,但是它的本质其实还是MVC
    """
    
  • 多对多三种创建方式

    # 全自动(本地测试用这个比较方便)
    	authors = models.ManyToManyField(to="Author")
    	# 自动创建第三张关系表 扩展性差  add,remove,clear,set
      
    # 纯手动(基本不用)
    	# 自己创建第三张表 自己建外键
      # 扩展性高 但是无法利用orm简便的查询方法了
    
    # 半自动(实际项目用这个,扩展性好)
    class Book(models.Model):
    	authors = models.ManyToManyField(to="Author",
                                       through='Book2Author',
                                       through_fields=('book','author')
                                      )
    class Author(models.Model):
    	books = models.ManyToManyField(to="Author",
                                       through='Book2Author',
                                       through_fields=('author','book')
                                      )
    class Book2Author(models.Model):
      book = 外键()
      author = 外键()
      """
      第三张关系表 还是需要你自己手动建
      但是你可以告诉django orm可以使用orm简便查询方法
      """
    
  • ajax

    """
    异步提交
    局部刷新
    
    参考案例:github注册实时获取用户名发送给后端确认并动态展示校验结果(页面不刷新)
    复习:input框实时监测事件	input事件
    
    我们学的是jQuery版本的ajax,所以你必须要确保html页面已经提前加载了jQuery
    """
    # ajax基本语法
    $.ajax({
         
      url:'',  # 朝后端哪个地址发送 跟action三种书写方式一致
      type:'get/post',  # 提交方式 默认get 跟form表单method参数一致
      data:{
         'username':'jason','password':123},  # 要发送的数据
      success:function(args){
         
        # 异步回调处理机制
      } 
    })
    """
    当你在利用ajax进行前后端交互的时候
    后端无论返回什么都只会被回调函数接受 而不再影响这个浏览器页面了
    """
    
    # 扩展 参数  代码发布项目还会涉及
    dataType:'JSON'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值