collectstatic missing on Linux

716 views
Skip to first unread message

Mike Dewhirst

unread,
Jan 10, 2012, 1:22:00 AM1/10/12
to django...@googlegroups.com
The manage.py collectstatic subcommand doesn't exist on my Linux staging
server but it does exist (and works) on my Win XP development machine.
I'm using exactly the same settings.py on both machines.

On Linux, in a Python interpreter I can do ...

>>>from django.contrib import staticfiles
>>>

... but when I type

$/usr/bin/python /srv/www/proj/manage.py help

... it returns a list of available subcommands[1] without collectstatic
in the list.

Win XP 32-bit
Python 2.7
Django 1.4a

Linux 64-bit
Python 2.6
Django 1.4a

The application itself runs under Apache on the Linux staging server if
I manually copy all the static files to the STATIC_ROOT directory.

Any hints appreciated

Thanks

Mike

[1]
Available subcommands:
cleanup
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
reset
runfcgi
runserver
shell
sql
sqlall
sqlclear
sqlcustom
sqlflush
sqlindexes
sqlinitialdata
sqlreset
sqlsequencereset
startapp
startproject
syncdb
test
testserver
validate

Jeff Heard

unread,
Jan 10, 2012, 1:24:25 AM1/10/12
to django...@googlegroups.com
Make sure the staticfiles app is in your INSTALLED_APPS setting.  That'd be my first guess.  If it is, do a manage.py console and try importing it to make sure that the django environment can see it.

-- Jeff



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.


huseyin yilmaz

unread,
Jan 10, 2012, 2:22:21 AM1/10/12
to Django users
This is why linux is the best os. If anything goes wrong, you can
blame it on linux :)

1) make sure you are really using django1.4a in server (from django
import VERSION). maybe you installed multiple versions of django and
using the wrong one (you might have 1.2.x on system and 1.4a on
virtualenv and might be using the wrong one.)
2) check your settings.py file. You might have windows specific paths
on your settings.py file (PROJECT_ROOT)

I hope that helps.

Mike Dewhirst

unread,
Jan 10, 2012, 7:11:12 AM1/10/12
to django...@googlegroups.com
Thanks guys - I found the problem. It required the following in
manage.py ...

import os, sys

if __name__ == "__main__":

SRC_ROOT =
os.path.realpath(os.path.dirname(__file__)).replace('\\','/')
PROJECT_ROOT = os.path.split(SRC_ROOT)[0].replace('\\','/')

sys.path.append(PROJECT_ROOT)
sys.path.append(SRC_ROOT)

... for some reason manage.py doesn't like my Linux setup and needed
some reassurance.

Cheers

Mike

> On 10/01/2012 5:24pm, Jeff Heard wrote:
>> Make sure the staticfiles app is in your INSTALLED_APPS setting.

>> be my first guess. If it is, do a manage.py console and try importing
>> it to make sure that the django environment can see it.
>>
>> -- Jeff

Reply all
Reply to author
Forward
0 new messages