09/6: byteflow with django 1.2
I’m trying out byteflow under django 1.2, and I finally have it working. There were only a few changes to make.
First off, the databases are specified differently in django 1.2 — there is the option to connect to multiple databases now. Strangely however, django did not force me to change my database settings … I guess there is some backward compabitility stuff for now.
old settings_local.py
DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_NAME = 'byteflow' DATABASE_USER = 'db_user' DATABASE_PASSWORD = 'sekrit'
new settings_local.py
DATABASES = { 'default' : { 'ENGINE' : 'postgresql_psycopg2', 'NAME' : 'byteflow', 'USER' : 'db_user', 'PASSWORD' : 'sekrit', } }
There are also some deprecation warnings in the logs about admin.site.root, in urls.py (I may have added all those ‘settings.BLOG_URLCONF_ROOT’ in when using ‘bjb’ as my URL_PREFIX):
old: url(r'^%sadmin/(.*)' % settings.BLOG_URLCONF_ROOT, admin.site.root, name='admin'), new: url(r'^%sadmin/(.*)' % settings.BLOG_URLCONF_ROOT, include(admin.site.urls)),
But this didn’t work for me so I went back to the old way. The problem was that when I asked to edit a blog post, it brought me to the main admin page. When I clicked on the Change link, it stayed on the main admin page. I’ll have to look into that another time.
An update was required to apps/tagging/managers, in usage_for_queryset, to update the database query for the django 1.2 database scheme (multiple databases). I found this hint.
Also, in order to run django 1.2 on my stable machine, I set up a
virtualenv (with --no-site-packages
) in which to run it. Had
to install all the site-packages into the virtualenv:
- BeautifulSoup-3.1.0.1
- Django-1.2.1
- PIL
- mx
- openid
- psycopg2-2.0.7
That’s about it except for infrastructure:
- easy-install
- pip-0.8
- setuptools-0.6c8
Well I suppose I should have started by upgrading byteflow, I’ll have to try that another time. Maybe some of my changes have been fixed in upstream already. However I did quickly note that the byteflow install page still says it requires django 1.0.