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