Django 2.1 开发中遇到的问题

一、Form表单与ajax
1.普通的form表单形式如下,处理POST请求没什么问题

<form action="..." method="POST">
<input type="submit" value="提交" />
</from>

2.如果你是ajax处理form表单的提交功能

<form >
<button type="button" value="提交" />
</from>

一般会把form 标签内部的东西去掉,input改为button, 一定要把type设置为button 也就是 type="button",不要再写成 type=“submit”,这样可能导致许多问题
(1)错误提示信息一闪而过
(2)正常处理完POST请求后,附带了GET请求,并导致页面上的url暴露信息
(3)POST请求通过,校验用户也是正确的,但是系统报很多错

二、ajax获取html数据,再次对html数据中的元素绑定事件

1.需求描述:我有一个表格,thead内容固定,tbody中的每个td元素都可以点击变色(每个td都绑定了click事件,都有一个class="bitem"的属性)。现在通过ajax请求重新从服务器获取表格的tbody部分,要求新的表格每个框依然可以点击变色。

原始绑定事件:

$('.bitem').click(function () {
	     //  处理变色事件
    })

2.问题:
新的html数据可以被加载并渲染,但是bitem的点击事件不起作用。
3.解决方案:

$(document).on('click', '.bitem', function () {
	  处理变色事件
}

三、从多对多/一对多关系对象中获取集合
1.需求描述:
现有Book表/Author表/Publish表,关系如下所示:
在这里插入图片描述
其中Publish和Book有一对多的关系,Book和Publish有多对多的关系。

2.问题:现在如果只给你authorspublish字符串,你该如何获取对应的全部记录

3.解决方案:
(1)Django 1.11
Book._meta.get_field('authors').rel.to.objects.all()
Book._meta.get_field('publish').rel.to.objects.all()
(1)Django 2.1
Book._meta.get_field('authors').related_model.objects.all()
Book._meta.get_field('publish').related_model.objects.all()

4.应用场景
Django 自定义后台的 过滤器部分,如下图所示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值