I could be wrong but ,i dont think the word 'global' is allowed anywhere in a file name ,import reference, class name etc.. i could be wrong tho. Try with global2 ?? On Aug 21, 2011 2:10 PM, "Jim" <jianbao....@gmail.com> wrote: > Hello folks, > > I am new to both Python and Django. And the story is a little long. So, > please bear with me. > > Recently I created a site named djangoSite to practice the Django framework. > The first thing I want to do is to create a SQLite database to hold global
> data of the site. As simple as it sounds, the actual process I went through > wasn't so simple. > > First, I created an apps/ subdirectory under djangoSite/ to hold all > potential applications I may have. Then, I created an empty file __init__.pyto makeapps/a package.Then, I wanted to create an app > global to make models for holding global data. I tried the following to do > this. > djangoSite/ >$ cd apps > apps/ >$ ../manage.py startapp global > It turns out the app global was created under djangoSite/ rather than under > apps/. So, here is one question. *How do I create a sub-app under apps/ with > manage.py?* Anyway, I didn't stop there. I moved the folder global/ into > apps/. I assumed that this would make global a subapp of apps, so that > something like this would work under manage.py shell: import apps.global. > However, I didn't test it right after moving the folder global/, which I > should have. Instead, I proceeded and created a model in > apps/global/models.py named NavItem. Then, I added 'djangoSite.apps.global' > to settings.INSTALLED_APPS. > > Then, I added a SQLite3 database 'global' in settings.DATABASES, and created > a Python file dbrouter.py under djangoSite/, in which I created a class > DBRouter to route the databases. Accordingly, I added DATABASE_ROUTERS = > ['djangoSite.dbrouter.DBRouter'] to settings.py. Here is another question. > When creating the class DBRouter, I basically copied the example (only the > master class) in the Django documentation Multiple Databases< https://docs.djangoproject.com/en/dev/topics/db/multi-db/#topics-db-multi-db-routing>. > It seems to me the newly created routing class, which is DBRouter in my > case, inherits a class named object, because of this statement: class > DBRouter(object). However, the example in the document I mentioned earlier > doesn't import anything at all, so the question is *where this class > 'object' come from*? > > Anyway, I kept moving. Under djangoSite/, I ran ./manage.py validate, which > gave 0 error. Then, I ran ./manage.py syncdb. And I got a bunch of errors. I > suspected that the database routing may not work. So, commented out the > DATABASE_ROUTERS settings, and ran ./manage.py syncdb again. This time, it > went through without errors. Now I am guessing that I need to import > something to make DBRouter work. > > So I started tracking down the problem. I invoked manage.py shell, and > wanted to create an instance of NavItem. I tried the following import > statements, but none of these worked. All of the them get a syntax error. > Here thery are. > >>>> from apps.global.models import NavItem > File "<console>", line 1 > from apps.global.models import NavItem > ^ > SyntaxError: invalid syntax >>>> from global.models import NavItem > File "<console>", line 1 > from global.models import NavItem > ^ > SyntaxError: invalid syntax >>>> from djangoSite.apps.global.models import NavItem > File "<console>", line 1 > from djangoSite.apps.global.models import NavItem > ^ > SyntaxError: invalid syntax >>>> from global.models import NavItem > File "<console>", line 1 > from global.models import NavItem > ^ > SyntaxError: invalid syntax > > > Now I am running out of ideas about what went wrong. I know this is a bit > long, so I really appreciate your help. Thank you very much. > > Jim > > > > , I also created and an subdirectory apps to hold all my django > applications. I created an empty file __init__.py to make the folder apps a > package. Then, I meant to create an app named global to hold global data of > the site. > > -- > You received this message because you are subscribed to the Google Groups "Django users" group. > To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/3cTQeJLV05gJ. > 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-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.