Django(十七)Ajax全套

http://www.cnblogs.com/wupeiqi/articles/5703697.html

- 文件上传
        - 普通上传
        - 自定义页面上传按钮
        - 基于Form做上传
        - Ajax上传文件?????

一,上传文件

from django.shortcuts import render,redirect, HttpResponse

# Create your views here.

def update(request):
    if request.method == ‘GET‘:
        return render(request, ‘update.html‘)
    else:
        username = request.POST.get(‘username‘)
        img = request.FILES.get(‘img‘)
        print(img)
        print(username)
        file_name = img.name
        file_size = img.size
        print(file_name, file_size)
        f = open(img.name, ‘wb‘)
        for line in img.chunks():
            f.write(line)
        f.close()

        return HttpResponse("ok")
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="/update/" method="post" enctype="multipart/form-data">
    {% csrf_token %}

    <input type="text" name="username">
    <div style="position: relative">
        <a href="">上传</a>
       <input type="file" name="img" style="opacity:0; position: absolute;left: 0;top: 0;">
    </div>

    <input type="submit" value="提交" />
</form>

</body>
</html>

基于Form上传

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="/update/" method="post" enctype="multipart/form-data">
    {% csrf_token %}

    {{ obj.user }}
    {{ obj.img }}

    <input type="submit" value="提交" />
</form>

</body>
</html>
from django.shortcuts import render,redirect, HttpResponse

# Create your views here.
from django import  forms
from django.forms import fields
class Upload(forms.Form):
    user = fields.CharField()
    img = fields.FileField()

def update(request):
    if request.method == ‘GET‘:
        obj = Upload()
        return render(request, ‘update.html‘,{‘obj‘:obj})
    else:
        obj = Upload(request.POST, request.FILES)
        if obj.is_valid():
            username = obj.cleaned_data[‘user‘]
            img = obj.cleaned_data[‘img‘]
            print(img)
            print(username)
            file_name = img.name
            file_size = img.size
            print(file_name, file_size)
            f = open(img.name, ‘wb‘)
            for line in img.chunks():
                f.write(line)
            f.close()

        return HttpResponse("ok")

原文地址:https://www.cnblogs.com/xiangtingshen/p/10686712.html

时间: 2024-09-29 20:33:28

Django(十七)Ajax全套的相关文章

框架----Django之Ajax全套实例

1. 浏览器访问 http://127.0.0.1:8000/index/ http://127.0.0.1:8000/fake_ajax/ http://127.0.0.1:8000/index/jsonp/ http://127.0.0.1:8000/autohome/ 2. urls from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns =

Django(十九)Ajax全套

参考博客:http://www.cnblogs.com/wupeiqi/articles/5703697.html 提交: - Form - Ajax 一.Ajax,偷偷向后台发请求 - XMLHttpRequest - 手动使用 - jQuery - “伪”Ajax - iframe标签 - form表单 二.Ajax上传文件 - jQuery - 原生 以上两种方式可利用formData对象,来封装用户提交的数据 - Iframe+Form ******Iframe+Form*******

python Django之Ajax

python Django之Ajax AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交互式网页应用的网页开发技术方案. 异步的JavaScript:使用 [JavaScript语言] 以及 相关[浏览器提供类库] 的功能向服务端发送请求,当服务端处理完请求之后,[自动执行某个JavaScript的回调函数].PS:以上请求和响应的整个过程是[偷偷]进行的,页面上无任何感知. XMLXML是一种标记语言,是Ajax在和后台

Django+JQuery+Ajax+Post方案中的问题及解决

遇到的问题 请求发送后,服务端无响应 Django对于POST请求会检查请求来源,表单方式提交时: 在Form内添加 `{% csrf_token %}` 标签: request响应函数前,添加 `@csrf_exempt` ; Jquery POST 方式提交时,在服务端添加了 @csrf_exempt ,在Django1.5版本后,无法直接通过POST获取参数,通过`raw_data = request.body` 获取数据时,出现如下错误提示: Exception: You cannot

django + jQuery AJAX初试

经过反复的测试,终于在django+jQuery AJAX成功返回服务器数据,本次测试在/static/test/test.txt test.txt: txt = {'1':'re','2':'qqq','3':'www','4':'rere'} views: def test(request): return render(request,'app/accounts/test.html') urls: urlpatterns = [ url(r'^test/$',views.test), ]

django 接受 ajax 传来的数组对象

django 接受 ajax 传来的数组对象 发送:ajax 通过 POST 方式传来一个数组 接收:django 接受方式 array = request.POST.getlist('key[]') 其中,key为包含该数组的键值对的键. 尤其要注意"[]",少了它将不能接受成功 为什么要加"[]"? 分析前台发送数据,我们会发现:ajax自动给数组中的数据的键名后添加了"[]"

js界面刷新&Django使用Ajax实现页面无刷新评论回复功能

Django使用Ajax实现页面无刷新评论回复功能 http://www.cnblogs.com/mfc-itblog/p/5188900.html js界面刷新 http://www.cnblogs.com/dingdingo/archive/2011/10/26/2225307.html js界面刷新&Django使用Ajax实现页面无刷新评论回复功能

Python开发【第十六篇】:AJAX全套

Python开发[第十六篇]:AJAX全套 概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要重新加载全局数据 2.AJAX AJAX,Asynchronous JavaScript and XML (异步的JavaScript和XML),一种创建交互式网页应用的网页开发技术方案. 异步的JavaScript:使用 [JavaScript语言] 以

12.Django与ajax

Django与ajax 01.AJAX简介: AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步Javascript和XML". *同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求 *异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求 *AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新 优点: AJAX使用Javascript技术向服务器发送异步请求 AJAX无须刷新整个页面 0