django前端ajax提交数据被拒绝

方案一:

在form标签中加入标签{% csrf_token %}

ajax提交数据增加csrftoken信息

var data={
‘obj1’:$(‘#obj1’).val(),
‘obj2’:$(‘#obj2’).val(),
‘csrfmiddlewaretoken’:$(‘input[name=”csrfmiddlewaretoken”]’).val()
}

$.ajax({
URL:”,
type:’POST’,
data:data,
success:function(res){
console.log(res);
}
})

方案二:

在form标签中加入标签{% csrf_token %}

ajax headers中csrftoken信息

var data={
‘obj1’:$(‘#obj1’).val(),
‘obj2’:$(‘#obj2′).val(),
}

$.ajax({
URL:”,
type:’POST’,
data:data,
headers:{“X_CSRFToken”:$(‘input[name=”csrfmiddlewaretoken”]’).val(),
success:function(res){
console.log(res);
}
})

另外:
{% csrf_token %}可以用jquery.cookie.js代替,在页面引入jquery.min.js与jquery.cookie.js,$(‘input[name=”csrfmiddlewaretoken”]’).val()替换为
$.cookie(‘csrftoken’)

Django Model ORM操作

# 增
#
# 1.models.Tb1.objects.create(c1=’xx’)

# 2.dict={c1:’xx’}
# models.Tb1.objects.create(dict)

# 3.obj = models.Tb1(c1=’xx’)
# obj.save()

# 4.obj = models.Tb1()
# obj.c1=’xx’
# obj.save()

# 查
#
# models.Tb1.objects.get(id=123) # 获取单条数据,不存在则报错(不建议)
# models.Tb1.objects.all() # 获取全部
# models.Tb1.objects.filter(name=’seven’) # 获取指定条件的数据
# models.Tb1.objects.exclude(name=’seven’) # 获取指定条件外数据

# 删
#
# models.Tb1.objects.filter(name=’seven’).delete() # 删除指定条件的数据

# 改
# models.Tb1.objects.filter(name=’seven’).update(gender=’0′) # 将指定条件的数据更新,均支持 **kwargs
# obj = models.Tb1.objects.get(id=1)
# obj.c1 = ‘111’
# obj.save() # 修改单条数据

继续阅读“Django Model ORM操作”

FreeBSD12部署nginx+virtualenv+django

1.安装nginx
FreeBSD 11.*安装nginx
2.安装mysql
FreeBSD12使用pkg安装mysql8.0
3.安装python
FreeBSD 11.*安装Python3
4.安装virtualenv搭建django环境
FreeBSD安装virtualenv搭建Django开发环境
5.创建django项目
django创建项目步骤
以上步骤完成,django项目调试运行正常后,往下执行。

继续阅读“FreeBSD12部署nginx+virtualenv+django”

Django在settings.py中配置静态文件

STATIC_URL = ‘/static/’
代表每个独立app下的static目录,只要有这个设置,每个app就可以访问自己目录的static下的静态文件。

STATIC_ROOT = os.path.join(BASE_DIR, ‘static’)
设置此项,当运行运行 python manage.py collectstatic 时,项目根目录下的static目录将copy所有app下的静态文件,方便部署nginx与apache时用到。

STATICFILES_DIR = [
os.path.join(BASE_DIR, “other_static”),
]
代表其他静态文件目录,可以用来存放每个app都用得到的公共静态文件。