zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    使用 asp.net mvc和 jQuery UI 控件包
    ServiceStack.Redis 使用教程
    HTC T8878刷机手册
    Entity Framework CodeFirst 文章汇集
    2011年Mono发展历程
    日志管理实用程序LogExpert
    使用 NuGet 管理项目库
    WCF 4.0路由服务Routing Service
    精进不休 .NET 4.0 (1) asp.net 4.0 新特性之web.config的改进, ViewStateMode, ClientIDMode, EnablePersistedSelection, 控件的其它一些改进
    精进不休 .NET 4.0 (7) ADO.NET Entity Framework 4.0 新特性
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349407.html
Copyright © 2011-2022 走看看