Django 사진 업로드 작업

2786 단어 DjangopythonHttp
장고 사진 올 리 기
  • admin 에 사진 올 리 기
  • admin. py 파일 에 등록, PicTest
  • from django.contrib import admin
    from booktest.models import *
    
    admin.site.register(PicTest)
    
  • 관리자 계 정 만 들 기
  • # create super user
    python manage.py createsuperuser
    
  • settings 에서 프로필 수정
  • STATIC_URL = '/static/'
    
    MEDIA_ROOT=os.path.join(BASE_DIR,"static/upImg")
    
  • models. py 에서 데이터 모델 만 들 기
  • from django.db import models
    
    # Create your models here.
    
    class PicTest(models.Model):
    pic = models.ImageField(upload_to='path') #    upload_to              
    

    사용자 정의 파일 업로드
  • 파일 업로드 시 파일 데 이 터 는 request. FILES 속성 에 저 장 됩 니 다
  • form 폼 에 파일 을 업로드 하려 면 속성 enctype = "multipart / form - data"
  • 파일 을 업로드 하려 면 post 요청 이 어야 합 니 다
  • settings. py 부분
  • #     
    MEDIA_ROOT=os.path.join(BASE_DIR,"static/upfile")
    
  • views. py 부분
  • from django.shortcuts import render,HttpResponse
    
    # Create your views here.
    
    def upfile(request):
    return render(request,'upfile.html')
    
    import os
    from django.conf import settings
    
    def savefile(request):
    if request.method == 'POST':
    f = request.FILES['file'] # input  name   
    #             
    filePath = os.path.join(settings.MEDIA_ROOT,f.name)
    with open(filePath,'wb') as fp:
    for info in f.chunks():
    fp.write(info)
    return HttpResponse('    ')
    else:
    return HttpResponse('    ')
    
  • 홈 페이지 부분
  • {% csrf token%} 역할
  • django 는 한 클 라 이언 트 의 요청 에 처음 응 할 때 서버 에서 무 작위 로 token 을 생 성하 여 이 token 을 쿠키 에 넣 습 니 다.그리고 POST 요청 때마다 이 token 을 가 져 옵 니 다. 주석 이 잘못 되면 "CSRF 인증 이 실 패 했 습 니 다. 요청 이 중단 되 었 습 니 다."
  • 
    
    
    
           
    
    
    {# method=post      enctype="multipart/form-data" #}
    
    {% csrf_token %}

    admin 에 업로드 하면 Django 프레임 워 크 는 그림 형식 인지 아 닌 지 자동 으로 검증 합 니 다.사용자 정의 업 로드 는 업 로드 된 파일 형식 이 그림 인지 아 닌 지 스스로 검증 해 야 합 니 다. 이미지 형식 을 검증 하면 추가 로 보충 할 수 있 습 니 다. 경로 부분 은 스스로 보충 하 십시오.

    좋은 웹페이지 즐겨찾기