Question

I am just starting to fiddle around with django. First I made a small app on my windows machine and verified it worked fine Then, I zipped the entire project, and opened the zip on a linux machine. The linux machine was installed with mod_wsgi and django 1.1.1, of course.

I created the following dirs:

  • /usr/local/bin/ROOT - contains only one file, django.wsgi
  • /usr/local/bin/ROOT/myapp - root dir of django app

Per the instructions here, I added to httpd.conf:

<VirtualHost *:80>

    ServerName server
    ServerAlias server
    ServerAdmin webmaster@example.com


    WSGIScriptAlias /myapp /usr/local/bin/ROOT/django.wsgi

    <Directory /usr/local/bin/ROOT/>
    Order allow,deny
    Allow from all
    </Directory>

</VirtualHost>

Now per the instructions here I put in /usr/local/bin/ROOT/django.wsgi:

import os
import sys
path = '/usr/local/bin/ROOT'
if path not in sys.path:
    sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

If it is of any importance: there is nothing set on PYTHOHPATH before the application starts.

After that I did a graceful restart to apache, and went to server/myapp. I got a 500 error. Lookin in the log I see:

[Sun Dec 05 12:24:17 2010] [error] [client XXXX] ImproperlyConfigured: Error importing middleware django.middleware.csrf: "No module named csrf"

What am I doing wrong? all other threads I found about this always either end up with a conclusion that it's an old version of django (but mine's 1.1.1) or that there are several apps running, but I have only one...

Help?

Was it helpful?

Solution

"django.middleware.csrf" is the package in Django 1.2.x

For Django 1.1.x CSRF settings read the appropriate docs Here

The package in 1.1.x was "django.contrib.csrf.middleware.CsrfMiddleware"

OTHER TIPS

1.1.1 is an old version of Django (the current version is 1.2.3), and that's almost certainly the cause of your problem. There is no django.middleware.csrf in 1.1.1.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top