![](/img/trans.png)
[英]Python/Django: Upload an image to media root itself without creating a folder in it
[英]How to save image in django media root storage from python
我正在嘗試將我的圖像保存到我在媒體文件夾中命名為圖片的媒體根文件夾中。 這是我的代碼,我希望每當我的函數制作屏幕截圖時,它都應該將屏幕截圖保存在我的媒體根文件夾中。
from django.shortcuts import render
from django.http import HttpResponse
from django.shortcuts import get_object_or_404,render,redirect
import time
import random
from django.db import models
import pyautogui
import sys
from shots.models import pictures
from .models import pictures
from shots.forms.forms import DocumentForm
def button(request):
import pyautogui
myScreenshot = pyautogui.screenshot()
storage=pictures.pictures2
myScreenshot.save(storage)
return render(request,'index.html')
def output(request):
return HttpResponse("""Hello, world. You're at the polls index.
your Screenshot should start now""")
這是我的models.py :
from django.db import models
import random
class pictures(models.Model):
pub_date = models.DateTimeField('date published')
pictures2 = models.ImageField(upload_to='pictures')
你會發現這個答案很有幫助。
FileField
和ImageField
的文件是相對於settings.MEDIA_ROOT
上傳的,並且應該可以通過附加到settings.MEDIA_URL
的相同相對文件名訪問。
話雖如此,如果你將settings.MEDIA_ROOT = 'pictures'
命名為你的模型,並且你告訴你的模型upload_to='pictures'
那么由 django 上傳的文件最終會在:
**/pictures/pictures/myScreenshot.png**
import pyautogui
from django.shortcuts import render
from django.http import HttpResponse
from django.conf import settings
from .models import pictures
def button(request):
myScreenshot = pyautogui.screenshot()
"""
The path and filename are relative o where you execute this script.
"""
filename = settings.MEDIA_ROOT+'pictures/myScreenshot.png'
myScreenshot.save(filename)
return render(request,'index.html')
你的models.py
:
from django.db import models
import random
class pictures(models.Model):
pub_date = models.DateTimeField('date published')
pictures2 = models.ImageField(upload_to='pictures')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.