Как настроить, подключить медиа-директорию django к Capanel host managment?

Я хочу вызвать картинки или видео из медиа, загруженных пользователями в проекте django.

а также я хочу загрузить фотографии от пользователя и вызвать приложение blogs book.

Я пробовал это, но у меня не работает: MEDIA_ROOT = 'home/username/public_html/media

Если вы хотите загрузить изображение или любой файл в каталог медиа, сначала вам нужно определить FileFieldLink, затем установить upload_to и media root Django settings

настройки:

....
MEDIA_ROOT = 'home/username/public_html/media'
....

модели:

class MyModel(models.Model):
    # file will be uploaded to MEDIA_ROOT/uploads
    .....
    upload = models.FileField(upload_to='uploads/')
    .....

после того, как вы загрузили файл и сохранили его в MyModel, он будет сохранен по адресу home/username/public_html/media/uploads/

с помощью MyModel.objects.get().upload.url вы можете обслуживать связанный URL для вашего клиента, но сначала подумайте об определении вашего медиа URL в base Django URL или в вашей Nginx маршрутизации.

пример base/urls.py:

urlpatterns = [
     your urls
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

пример ngnix.conf:

# mysite_nginx.conf

# the upstream component nginx needs to connect to
upstream django {
   # server unix:///path/to/your/mysite/mysite.sock; # for a file socket
    server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve for
    server_name example.com; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /path/to/your/mysite/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /path/to/your/mysite/static; # your Django project's static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
    }
}
Вернуться на верх