Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Admin: Path to file uploaded is wrong. Missing "static"?

I have a simple model and the default admin in django. Everything works as expected and I can upload files. I've read the django docs regarding upload paths. My MEDIA URL and MEDIA ROOT are set and the uploading works. Lets say I login into the default admin, place an order with an uploaded jpg, the I go to edit the order and I see the current upload file.

If I hover the current file link, the complete url is some.url.com/uploads/myfile.jpg, when it should be some.url.com/static/uploads/myfile.jpg ???

My MEDIA URL is set at some.url.com/static/ and MEDIA ROOT at the absolute path to "static".

Since the upload works fine and goes where it should, maybe something is missing...

I'd like to be able to, inside default django admin, go to order edit, hover the current uploaded file, click it and it would open in a new window, Obviously, currently it goes 404...

The relevant part from the model:

ficheiro = models.FileField(upload_to='uploads')

Heres a screenshot: screenshot http://anibalcascais.com/exemplo.jpg

Thank You

# Django settings for ensanis project.
import os.path


DEBUG = False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Anibal Santos', '[email protected]'),
)

MANAGERS = ADMINS

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Lisbon'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'pt_PT'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = '/home/anibal/sites/ensanis/static/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = 'http://cl10.anibalcascais.com/static/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = 'http://cl10.anibalcascais.com/media/'



# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source',
#     'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

ROOT_URLCONF = 'ensanis.urls'

TEMPLATE_DIRS = ( 
    'templates',
)



INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'ensanis.encomendas',
    'django.contrib.admin',
    'ensanis.django_evolution',
)
like image 853
acsantos Avatar asked Feb 26 '10 11:02

acsantos


1 Answers

ok, I'm sorry to bother you all, but it turns out it was something obvious: I've restarted fcgi and the paths are now correct. (duhhh!)

Sorry all for your trouble :)

like image 98
acsantos Avatar answered Oct 23 '22 17:10

acsantos