Bill Freeman wrote: > Does your project root (I'm assuming that's the directory containing > the sub directory "app") have an __init__.py file. Does the app > directory? I'm assuming that the one you mention below is in > app/models/ . All three are required, if what you have on your > sys.path is just the project root. > > my app is in the pythonpath of the environment and every directory has an __init__.py everything worked fine till i changed the structure from:
app/ __init__.py models.py views.py urls.py to: app/ models/ __init__.py models.py views.py/ __init__.py whatever.py another.py urls/ __init__.py myurls.py anotherurls.py __init__.py so it doesnt really make sense that i cant import something in the second case from my point of view. > Do make sure that your project root is on your sys.path. You can do > that by temporarily adding: > > import foo > > to settings.py, and creating a file foo.py in the project root containing, > say: > > print "Foo!" > > and then do: > > python manage.py shell > > As part of the startup printout you should get a line containing only: > > Foo! > > By the way, I'm pretty sure that lots of django internal machinery, > like syncdb, for example, depends on there being a file named exactly > "models.py" in each app. So a better choice of directory structure > might be "app/myapp/models.py", with your myclass class in the > models.py file. Pinax uses such a structure, though the upper > directory is called apps instead of app (there may be more than one) > and has been added to the path, so that you can mention it in > INSTALLED_APPS as just 'myapp', rather than 'apps/myapp'. If you go > this route, you will want to insert the apps directory at or near the > beginning of sys.path, rather than appending it, so that when you > mention a possibly installed app, such as django_microblogging, but > which you have customized in a copy in your apps folder, you can say > 'microblogging' in your INSTALLED_APPS and it will find yours rather > than the system version. (TN.B.: emplate paths are a separate issue.) > > Bill > > On Wed, Nov 11, 2009 at 10:34 AM, andreas schmid <a.schmi...@gmail.com> wrote: > >> im experiencing the same problem. >> i started with a simple app and the modules.py was at the root of the >> app package, so everything was fine. >> now i extended the app and restructured the files in it by making a >> subfolder app/models and inside an __init__.py and the mymodel.py >> >> in the urls.py which i have an import like >> from app.models.mymodel import myclass >> >> and while the django shell is able to import it without any problem the >> django server isnt. im using buildout to build the whole django >> environment so the python interpreter im starting the shell and the one >> of the server is the same. >> >> i already tried to remove all .pyc and start everything again but i had >> no luck. >> >> this is weird and i cant figure out what the problem could be. >> >> >> >> Bill Freeman wrote: >> >>> I had another couple of thoughts. >>> >>> In the manage.py shell, try: >>> >>> from openid.yadis import xri >>> xri >>> >>> The output will include from where it got xri. Make sure that it's >>> coming from your lib directory, and not from some old system wide >>> installation of openid. >>> >>> >>> Instead of: >>> >>> from openid.association import Association as OIDAssociation >>> >>> try: >>> >>> from association import Association as OIDAssociation >>> >>> >>> Also, expecially if the previous worked, in your settings.py, instead of: >>> >>> sys.path.append(os.path.join(FILE_ROOT, 'lib', 'openid')) >>> >>> try >>> >>> sys.path.append(os.path.join(FILE_ROOT, 'lib')) >>> >>> Bill >>> >>> >>> >> > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en > -~----------~----~----~----~------~----~------~--~--- > > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=.