网站开发

1、Django 中如何解决 ajax 在 post 数据时出现的 csrf 403 forbidden 的问题?描述解决步骤 。

查看请求发现 cookie 有 csrftoken,所以利用 js 获取 csrftoken 。

核心语句 document.cookie() 会返回所有的 cookie

cookie 的结构如下:name1 = value1;name2 = value2

所以遍历每一项 cookie ,找到 csrftoken 的 value 。

最后在 ajax post 中传入一个 key 为csrfmiddlewaretoken 。

$.ajax({
	type:"POST",
	data:{"csrfmiddlewaretoken": csrftoken_value, key2:value2}
})

2、Django model 设计中 ForeignKey ,ManyToManyField 代表什么?它们在数据库中存储有什么区别?

ForeignKey 代表多对一,ManyToManyField 代表多对多 。

模型( Models )是对网站所需信息种类的定义,其包含了网站存储数据中的重要字段和数据行为 。一般来说,一个模型对于数据库中的一个表单 。字段( Fields )是模型的重要和唯一组成部分,他们由类别的属性值所指定 。

更新 ForeignKey 字段和保存普通字段没什么差别,只是在给字段分配对象时要注意对象类型一定要正确;更新 ManyToManyField 就有些不同,要在字段上使用 add() 方法来添加关系 。如果你在分配或添加对象时使用了类型错误的对象,Django 就会报错 。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值