django设置并获取cookie/session,文件上传,ajax接收文件等的方法:

views.py文件:

from django.shortcuts import render,HttpResponse,redirect
import datetime
import json
from .setMongodb import pinglun
from bson import ObjectId # Create your views here. def index(request):
# print(render(request,'index.html').__dict__['_container'][])
print(render(request, 'index.html').content) return render(request, 'index.html') def product(request,id):
return render(request, 'product.html',{'pid':id}) def article(request,aid):
return render(request, 'article.html', {'aid': aid}) #ajax返回数据
def jsonApi(request):
dictobj = {'title': '标题'}
a = HttpResponse(json.dumps(dictobj, ensure_ascii=False))
# 允许你的域名来获取我的数据
a['Access-Control-Allow-Origin'] = "*" # 允许你携带Content-Type请求头
a['Access-Control-Allow-Headers'] = "Content-Type"
return a #GET/POST
def methodApi(request):
# http = 'http://localhost:8000/methodApi?abc=123'
if request.method=='GET':
request.GET.get('abc') # ===>
request.POST.get('username') # ===>admin return HttpResponse('methodApi') #设置cookie
def setcookie(request):
a = HttpResponse('')
# 设置cookies超过10秒失效,写法
a.set_cookie('isLogin', 'true', max_age=) # 从登录10秒后失效,写法
current_time = datetime.datetime.utcnow()
current_data = current_time + datetime.timedelta(seconds=)
a.set_cookie('key', 'value', expires=current_data)
return a #获取cookie的写法
def getcookie(request):
islogin = request.COOKIES.get('isLogin')
return HttpResponse(redirect('index')) #设置session
def setsession(request): request.session['username'] = '老王'
return HttpResponse('setsession') #获取seseion
def getsession(request):
# request.session.get('username')
return HttpResponse(request.session['username']) # 设置文件上传 def uploadfile(request):
if request.method == 'GET':
return render(request, 'upload.html')
else:
obj = request.FILES.get('files')
print(obj)
print(obj.__dict__)
# print(obj.name,obj.size) #读取文件名称和大小,返回后台 f = open('./static/upload/'+obj.name, 'wb')
for chunk in obj.chunks():
f.write(chunk)
f.close()
return HttpResponse('图片上传成功') def pinglunList(request):
result = pinglun.find() resList = []
for item in result:
item['_id'] = str(item['_id'])
resList.append(item) # print(resList)
jsonStr = json.dumps(resList,ensure_ascii=False)
# print(jsonStr) a = HttpResponse(jsonStr) a['Access-Control-Allow-Origin'] = "*" # 允许你携带Content-Type请求头
a['Access-Control-Allow-Headers'] = "Content-Type"
return a def addContent(request):
print(request.GET.get('username'))
contentDict = {
'username': request.GET.get('username'),
'headerimg': request.GET.get('headerimg'),
'content': request.GET.get('content'),
'zanNum': request.GET.get('zanNum')
}
print(contentDict) pinglun.insert(contentDict) a = HttpResponse('ok') a['Access-Control-Allow-Origin'] = "*" # 允许你携带Content-Type请求头
a['Access-Control-Allow-Headers'] = "Content-Type"
return a def addzan(request): print(request.GET.get('_id')) _id = request.GET.get('_id') # res1 = pinglun.find_one({'_id': _id})
res = pinglun.update({'_id': ObjectId(_id)}, {'$inc': {'zanNum': }}) print(res) a = HttpResponse('ok') a['Access-Control-Allow-Origin'] = "*" # 允许你携带Content-Type请求头
a['Access-Control-Allow-Headers'] = "Content-Type"
return a

django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法的更多相关文章

  1. SpringMVC单文件上传、多文件上传、文件列表显示、文件下载(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程 ...

  2. 使用PHP实现文件上传和多文件上传

    PHP 2013 年 9 月 4 日 暂无评论 在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一.值得高兴的是,在PHP中实现文件上传功能要比在Java.C#等语言 ...

  3. Struts1文件上传、单文件、多文件上传【Struts1】

     将struts1文件上传的操作汇总了一下,包括单文件上传和多文件上传,内容如下,留作备忘: Struts2实现文件上传的文章(http://blog.csdn.net/itwit/article/d ...

  4. Spring Boot2(十四):单文件上传/下载,文件批量上传

    文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...

  5. SpringMVC文件上传下载(单文件、多文件)

    前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...

  6. 强大的支持多文件上传的jQuery文件上传插件Uploadify

    支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...

  7. struts文件上传(多文件)

    第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...

  8. skymvc文件上传支持多文件上传

    skymvc文件上传支持多文件上传 支持单文件.多文件上传 可以设定 文件大小.存储目录.文件类型 //上传的文件目录 $this->upload->uploaddir="att ...

  9. UEditor Flash文件上传-crossdomain.xml文件配置

    在使用UEditor富文本时,如果客户端的浏览器是低版本浏览器,如IE7.IE8等,UEditor的文件上传方式将会使用flash方式上传而不是html5,而flash在跨域时唯一的限制策略就是cro ...

随机推荐

  1. isinstance,issubclass,内置函数__str__和__repr__,__format__,dir()函数

    isinstance(obj,cls) 检查是否obj是否是类 cls 的对象 #对象与类之间的关系 判断第一个参数是否是第二个参数的实例 # 身份运算 # 2 == 3 # 值是否相等# 2 is ...

  2. IT项目管理分享7个开源项目管理工具

    在一项调查中,有 71% 的组织表示他们在开发过程中会用到敏捷方法. 此外,用敏捷方法管理项目比传统方法管理项目成功率高 28%.在这次工具推荐中,我们从一些比较受欢迎的开源项目管理工具中摘取了支持敏 ...

  3. bcftools将vcf生成bgzip和index格式

    利用bcftools软件将vcf格式生成gz格式和index格式,需要用到“-Oz”和“index”命令,具体如下: /bcftools-1.8/bin/bcftools view ExAC.vcf ...

  4. 苹果电脑利用wget总是会出现无法建立 SSL 连接的问题

    在做迁徙学习的过程中,需要下载已经训练好的Inception_v3模型,首先我们为了将下载的模型保存到指定的地方,我们需要利用 wget -P 想要保存的目录 模型的网址,例如 wget -P /Vo ...

  5. (Prim算法)codeVs 1078 最小生成树

    题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这 ...

  6. linux c 编程 ------ 通过设备节点调用驱动

    驱动程序如下,加载驱动后,会在/dev文件夹下生成一个文件hello_device_node,是此驱动的设备节点 #include <linux/init.h> #include < ...

  7. 深入理解JS函数中this指针的指向

    函数在执行时,会在函数体内部自动生成一个this指针.谁直接调用产生这个this指针的函数,this就指向谁. 怎么理解指向呢,我认为指向就是等于.例如直接在js中输入下面的等式: console.l ...

  8. python字典练习题

    python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...

  9. Unity 如何检测鼠标双击事件

    代码如下: void OnGUI(){ Event e=Event.current; )) Debug.Log("用户双击了鼠标"); }

  10. 解决pycharm问题:module 'pip' has no attribute 'main'

    问题 更新pip之后,Pycharm安装package出现如下报错: 解决 找到安装目录下 helpers/packaging_tool.py文件,找到如下代码: 修改为如下,保存即可.