On 13 May 2011 11:06, Chuck <[email protected]> wrote:
> This is the content of my wsgi file in my Django project.
>
> import os, sys
>
> # path to directory of the .wsgi file ('apache/')
> wsgi_dir = os.path.abspath(os.path.dirname(__file__))

So the WSGI script file is in directory something like
.../parent/firstdjango/apache directory.

> # path to project root directory (parent of 'apache/')
> project_dir = os.path.dirname(wsgi_dir)

This give project_dir as '.../parent/firstdjango'.

> # add project directory to system's PATH
> sys.path.append(project_dir)

You are only adding '.../parent/firstdjango' to sys.path.

> # add the settings.py file to your system's PATH
> project_settings = os.path.join(project_dir,'settings')
>
> # explicitly define the DJANGO_SETTINGS_MODULE
> os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
>
> import django.core.handlers.wsgi
> application = django.core.handlers.wsgi.WSGIHandler()
>
> I only have one settings file,which is named settings.py.
>
> Now it's giving me an error about not finding TemplateSyntaxError:
> Caught ImportError while rendering: No module named firstdjango.books

Which fails, because '.../parent' is not in sys.path.

You would also need:

  sys.path.append(os.dirname(project_dir))

else it can't find 'firstdjango' in sys.path when search for project
package root.

For additional reading on the sys.path mess that Django has got itself
into read:

  http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

Graham

> I have a project under my main app called books.  The project is
> called firstdjango.
>
> I'll look at your post about permissions.
>
> On May 12, 8:52 pm, Graham Dumpleton <[email protected]>
> wrote:
>> Quickest answer is for me to say go watch:
>>
>>  http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_...
>>
>> In that presentation I step through sys.path issues as well as
>> permission issues.
>>
>> Also ensure you have also read:
>>
>>  http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
>>
>> taking note of what it says about sys.path.
>>
>> Graham
>>
>> On 13 May 2011 10:40, Chuck <[email protected]> wrote:
>>
>> > It looks like the mod_wsgi module is getting loaded.  Now the problem
>> > seems to exist in my django.wsgi script within my Django app. When
>> > looking at the Apache error log I am seeing this:
>>
>> > Exception occurred processing WSGI script
>>
>> > ImportError: Could not import settings 'firstdjango.settings' (Is it
>> > on sys.path? Does it have syntax errors?): No module named
>> > firstdjango.settings
>>
>> > On May 12, 8:27 pm, Graham Dumpleton <[email protected]>
>> > wrote:
>> >> On 13 May 2011 10:25, Chuck <[email protected]> wrote:
>>
>> >> > Doing some research in other posts...I have at least gotten further
>> >> > along.  I had to figure out a way to include the mod_wsgi module in
>> >> > the Apache modules.  So I did this:
>>
>> >> > Solution – enable mod_wsgi on SuSE linux
>>
>> >> >   1. Edit the file /etc/sysconfig/apache2 as root:
>> >> >         1. search for APACHE_MODULES, you should find a line like
>> >> > this
>> >> >            APACHE_MODULES="suexec access actions alias auth auth_dbm
>> >> > autoindex cgi dir env expires include log_config mime negotiation
>> >> > setenvif userdir ssl php4"
>> >> >         2. Add wsgi to the content in the list between the “
>> >> >         3. Save the changes and quit
>> >> >   2. run SuSEconfig to update the apache configuration files
>> >> >   3. run /etc/init.d/apache2 restart to restart the Apache server
>>
>> >> Thanks for that. I didn't know that SuSE was so weird when it came to
>> >> enabling of the modules.
>>
>> >> Graham
>>
>> >> > Verify that the mod_wsgi module is installed correctly
>>
>> >> > /usr/sbin/httpd2 -M
>> >> > Loaded Modules:
>> >> >  core_module (static)
>> >> >  mpm_prefork_module (static)
>> >> >  http_module (static)
>> >> >  so_module (static)
>> >> >  actions_module (shared)
>> >> >  alias_module (shared)
>> >> >  auth_basic_module (shared)
>> >> >  authn_file_module (shared)
>> >> >  authz_host_module (shared)
>> >> >  authz_groupfile_module (shared)
>> >> >  authz_default_module (shared)
>> >> >  authz_user_module (shared)
>> >> >  autoindex_module (shared)
>> >> >  cgi_module (shared)
>> >> >  dir_module (shared)
>> >> >  env_module (shared)
>> >> >  expires_module (shared)
>> >> >  include_module (shared)
>> >> >  log_config_module (shared)
>> >> >  mime_module (shared)
>> >> >  negotiation_module (shared)
>> >> >  setenvif_module (shared)
>> >> >  ssl_module (shared)
>> >> >  userdir_module (shared)
>> >> >  wsgi_module (shared)
>> >> > Syntax OK
>>
>> >> > When I restart Apache it's not giving me an error anymore.  I'll post
>> >> > more info as I go.
>>
>> >> > On May 12, 8:00 pm, Chuck <[email protected]> wrote:
>> >> >> I'm sorry if this is a pain to answer this question because it
>> >> >> probably is the "stock" newbie whine.
>>
>> >> >> I'm getting the ubiquitous Invalid command 'WSGIScriptAlias', perhaps
>> >> >> misspelled or defined by a module not included in the server
>> >> >> configuration
>>
>> >> >> when i try to boot up the Apache server.
>>
>> >> >> I have already tried some of the recommendations in the installation
>> >> >> help files.
>>
>> >> >> I'm willing to do what it takes to get this to work...
>>
>> >> >> Some background info:
>>
>> >> >> -- Django 1.2.5 (SUSE repo install)
>> >> >> -- Python 2.6 (SUSE repo install)
>> >> >> -- Server version: Apache/2.2.15 (Linux/SUSE)
>> >> >> -- mod_wsgi 3.3.17 (SUSE repo install) installed this in my /usr/lib64/
>> >> >> apache2/mod_wsgi.so
>>
>> >> >> I tried to configure this according to the book Beginning Django E-
>> >> >> commerce.  The author suggested you create a virtual host, which I
>> >> >> did.  In SUSE you create a virtual host configuration file at/etc/
>> >> >> apache2/v.hosts.d. It's pointing to where my Django project is
>> >> >> located.  Within my Django project I have an apache folder in which I
>> >> >> have placed a django.wsgi file.  I've not changed anything in my
>> >> >> httpd.conf.
>>
>> >> >> /usr/sbin/httpd2 -M
>>
>> >> >> Loaded Modules:
>> >> >>  core_module (static)
>> >> >>  mpm_prefork_module (static)
>> >> >>  http_module (static)
>> >> >>  so_module (static)
>> >> >>  actions_module (shared)
>> >> >>  alias_module (shared)
>> >> >>  auth_basic_module (shared)
>> >> >>  authn_file_module (shared)
>> >> >>  authz_host_module (shared)
>> >> >>  authz_groupfile_module (shared)
>> >> >>  authz_default_module (shared)
>> >> >>  authz_user_module (shared)
>> >> >>  autoindex_module (shared)
>> >> >>  cgi_module (shared)
>> >> >>  dir_module (shared)
>> >> >>  env_module (shared)
>> >> >>  expires_module (shared)
>> >> >>  include_module (shared)
>> >> >>  log_config_module (shared)
>> >> >>  mime_module (shared)
>> >> >>  negotiation_module (shared)
>> >> >>  setenvif_module (shared)
>> >> >>  ssl_module (shared)
>> >> >>  userdir_module (shared)
>>
>> >> >> Questions:
>> >> >> 1) should I have created mod_wsgi from source?
>> >> >> 2) should I be fooling around with a virtual host?
>>
>> >> >> I'm willing to provide any other information needed.
>>
>> >> > --
>> >> > You received this message because you are subscribed to the Google 
>> >> > Groups "modwsgi" group.
>> >> > To post to this group, send email to [email protected].
>> >> > To unsubscribe from this group, send email to 
>> >> > [email protected].
>> >> > For more options, visit this group 
>> >> > athttp://groups.google.com/group/modwsgi?hl=en.
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "modwsgi" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to 
>> > [email protected].
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/modwsgi?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/modwsgi?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to