Vivek Kumar
Vivek Kumar

Reputation: 5040

Getting error in specifying STATIC_ROOT STATIC_URL in Django settings.py file

I am new to django and web application development. I am trying to add css to my demo site (using django v1.4 on windows7) and getting the following error. I have tried all, and wasted almost 3-4 hrs. still not been able to resolve it.

I think I am doing some silly mistake, can anyone please let me know where I am making the blunder.

either when I do

http://localhost:8000/static/css.css

or

python manage.py collectstatic

I get:

TypeError: coercing to Unicode: need string or buffer, tuple found

setting.py file is:

import os
PROJECT_PATH = os.path.abspath(os.curdir).replace('\\', '/')

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', '[email protected]'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE'   : 'django.db.backends.mysql',        # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME'     : 'ecomstore',                       # Or path to database file if using sqlite3.
        'USER'     : 'vivek',                           # Not used with sqlite3.
        'PASSWORD' : 'linux',                           # Not used with sqlite3.
        'HOST'     : '',                                # Set to empty string for localhost. Not used with sqlite3.
        'PORT'     : '',                                # Set to empty string for default. Not used with sqlite3.
    }
}

TIME_ZONE     = 'America/Chicago'
LANGUAGE_CODE = 'en-us'
SITE_ID       = 1
USE_I18N      = True
USE_L10N      = True
USE_TZ        = True
MEDIA_ROOT    = ''
MEDIA_URL     = ''
STATIC_ROOT   = os.path.join(PROJECT_PATH,'static').replace('\\', '/'),
STATIC_URL    = '/static/'

STATICFILES_DIRS = (
    os.path.join(PROJECT_PATH, 'static').replace('\\', '/'),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

SECRET_KEY = 'dyi(9i9e*oy#7o#-z$vcnk%d$2)n!)t=3(cqo5=prtp$7e2(*h'

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
)

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

ROOT_URLCONF = 'ecomstore.urls'

WSGI_APPLICATION = 'ecomstore.wsgi.application'

TEMPLATE_DIRS = (
    os.path.join(PROJECT_PATH, 'templates').replace('\\', '/'),
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

Upvotes: 1

Views: 660

Answers (1)

manojlds
manojlds

Reputation: 301037

STATIC_ROOT   = os.path.join(PROJECT_PATH,'static').replace('\\', '/'),

Remove the , at the end of the line.

Upvotes: 4

Related Questions