Вы найдете этот ответ полезным.
Файлы для 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')