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. A1065. A+B and C (64bit)

    Given three integers A, B and C in [-263, 263], you are supposed to tell whether A+B > C. Input S ...

  2. (转)深入理解Java注解类型(@Annotation)

    背景:在面试时候问过关于注解的问题,工作中也用到过该java的特性,但是也没有深入的了解. 秒懂,Java 注解 (Annotation)你可以这样学 ps:注解最通俗易懂的解释 注解是一系列元数据, ...

  3. ERRORS: ?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.

    Ubuntu下,运行django项目的时候失败,报错: (env36) root@JD:~/xueyiwang# python manage.py runserver 0.0.0.0:8000 Per ...

  4. 测试利器 Postman

    一.安装 官网:https://www.getpostman.com/ Postman是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行进行搜索并安装,安装完成会在桌面上显示一个 ...

  5. Appium的图像界面浅说

    appium的图形用户界面(GUI) (1)Application中各个项的含义作用: Application Path:填写你需要测试的Android APK的包地址(两种方式:1直接点击Choos ...

  6. python之设计模式

    一.简介 设计模式的定义:为了解决面向对象系统中重要和重复的设计封装在一起的一种代码实现框架,可以使得代码更加易于扩展和调用 四个基本要素:模式名称,问题,解决方案,效果 六大原则: 1.开闭原则:一 ...

  7. matlab图片 latex显示

    matlab图片另存为bmp格式,用在线网站转换格式为png. 莫要直接另存为jpg格式,在latex中显示,否则图片显示的质量不高.

  8. 第十四节,卷积神经网络之经典网络Inception(四)

    一 1x1卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用 1×1 卷积.也许你会好奇,1×1 的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看. 过滤器为 1 ...

  9. 《Java 程序设计》第一周学习总结

    本周因为刚刚接触Linux和码云等等,所以在完成作业的时候遇到很多问题. 首先,在安装Linux没有安装盘片,在盘片安装之后成功建立虚拟机,建立虚拟机后首先要下载jdk,第一次下载时没有选对格式,Li ...

  10. JavaSE_List&Array_Java1.7

    这里简单写了下List和Array的相互转换 package cn.rocker.collection.list; import org.junit.Test; import java.util.Ar ...