I am not able to upload my media files on Cpanel. Initially I was able to upload files but now it shows Error 404 URL Not Found.
There is nothing wrong with my code or my url as it works fine on localhost.
I have checked for permissions of directory in my CPanel File Manager (its 0755).
I have specified + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) in my urls.py file.
My settings.py is:
MEDIA_ROOT = '/my/path/public_html/media'
MEDIA_URL = '/media/'
I am using Django=2.1 and CPanel Shared Hosting
I know its recommended to have a web server to store and serve media files in Production Environment but it would be helpful if I get a solution of this error.
Unfortunately, the Django development server doesn't serve media files by default. Fortunately, there's a very simple workaround: You can add the media root as a static path to the ROOT_URLCONF in your project-level URLs.
Configuring Media Files in DjangoOpen settings.py file of your project and add the following configuration. MEDIA_URL is the URL that will serve the media files. During development, it doesn't matter much as long it doesn't conflict with any view of the apps.
add this code to passenger_wsgi.py file and change project_name at line 4:
import os
import sys
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'project_name.settings'
import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application
SCRIPT_NAME = os.getcwd()
class PassengerPathInfoFix(object):
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
from urllib.parse import unquote
environ['SCRIPT_NAME'] = SCRIPT_NAME
request_uri = unquote(environ['REQUEST_URI'])
script_name = unquote(environ.get('SCRIPT_NAME', ''))
offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
return self.app(environ, start_response)
application = get_wsgi_application()
application = PassengerPathInfoFix(application)
for more: go to here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With