• django 文件上传


    文件上传:
    
    1.
    
    node2:/django/mysite/news#cat ../mysite/urls.py
    """mysite URL Configuration
    
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import include,url
    from django.contrib import admin
    from blog import views as view
    from news import views as newview
    urlpatterns =( 
    url(r'^admin/', admin.site.urls),
    url(r'^blog/$',view.archive),
    url(r'^articles/',include("news.urls")),
    url(r'^upload/$',newview.upload,name='upload'),
    )
    
    2.
    
    node2:/django/mysite/news#cat views.py
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    from django.shortcuts import render,render_to_response
    from .models import Article
    from django.http import HttpResponse, HttpResponseNotFound
    import datetime
    from django.views.decorators.http import require_http_methods,require_GET
    from django.http import HttpResponseRedirect
    from django.shortcuts import render
    import os
    
    @require_GET
    def my_view(request):
        # ...
        return HttpResponse(status=201)
    def upload(request):
        if request.method=="POST":
            handle_upload_file(request.FILES['file'],str(request.FILES['file']))
            return HttpResponse('Successful') #此处简单返回一个成功的消息,在实际应用中可以返回到指定的页面中  
    
        return render_to_response('upload.html')
    
    def handle_upload_file(file,filename):
        path='/tmp/'     #上传文件的保存路径,可以自己指定任意的路径  
        if not os.path.exists(path):
            os.makedirs(path)
        with open(path+filename,'wb+')as destination:
            for chunk in file.chunks():
                print '-----------'
                print chunk
                print '-----------'
                destination.write(chunk)
    
    3.
    node2:/django/mysite/news#cat templates/upload.html 
    <div class="row">
          <div class="col-md-8 col-md-offset-2">
              <form class="form-inline" role="form"  method="post" enctype="multipart/form-data" accept-charset="utf-8">
                  <div class="form-group">
                      <input type="file" name="file">
                  </div>
                  <div class="form-group">
                      <input type="submit" value="上传文件">
                  </div>
              </form>
          </div>
      </div>

  • 相关阅读:
    POJ--2356 Find a multiple
    Trailing Zeroes (III)
    第一章 快速入门
    第二章 变量和基本类型
    第三章 标准库类型
    第四章 数组和指针
    第五章 表达式
    第六章 语句
    第七章 函数
    第八章 标准IO库
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349407.html
Copyright © 2020-2023  润新知