views:

142

answers:

1

Is it possible to do development just using Instant Django? Do I need to have the normal version working or can I just use this instant version? Has anyone used it?

+4  A: 

It is, of course, possible to use InstantDjango for development. InstantDjango uses SQLite3, which is a perfectly reasonable relational database for embedded or light/sometimes-moderate use. The whole purpose of django is that the ORM layer gives you database portability.

That said, I would not use InstantDjango for deployment in a halfway-serious web app. SQLite just does not scale anywhere near as far as Apache (etc) with MySQL/Postgres. In some cases, the way that SQLite handles data types (or, rather, glosses over data types) can lead to issues with a django app that is subsequently deployed with MySQL/Postgres... if you develop using SQLite, always test with your actual deployment environment before going live.

You've asked a number of questions on SO in the last couple days about deploying Django with one or the other of the major relational database packages (http://stackoverflow.com/questions/738433/getting-started-with-django-instant-django ; http://stackoverflow.com/questions/719431/is-it-me-or-are-rails-and-django-difficult-to-install-on-windows ). I suspect the reason you've not had many answers, and therefore feel the need to keep asking the same question with different phrasing, is that we need more specific examples of the errors you're having.

Plenty of folks install Django with MySQL, Postgres, and other databases, every day on Windows and *nix systems. If you give us the exact details of which non-SQLite database you're trying to use, the way you've installed it, how your settings for that database are configured in django, and the error messages you're getting, we will have a better shot at helping you.

If you're still having trouble based on the answers you've had, perhaps you can turn to a professional system administrator and/or DBA you know to show you the ropes with installing and configuring this kind of software.

Until that time, by all means, start developing using InstantDjango and SQLite. It will not have to be thrown away for vastly re-written when you migrate to a different relational database, and will help you make forward-progress with the framework that can only bolster your knowledge for understanding how to deploy it in production.

Jarret Hardie
Thanks. That's a good point. I'll check the specifics about the errors I'm getting and post a follow up.
Mackristo
I can tell you that one error that I'm having in general is being able to connect to MySql. I keep getting an 1045 error that won't let me connect. I've tried shutting different services down in admin but to no avail.
Mackristo
One other error is when it comes to syncing the db I cannot seem to get the right path for sqlite. That then leads me to try using Postgres but I'm having issues there to...I'll check for specifics.
Mackristo
Fantastic! Many thanks. This is very helpful. MySQL's 1045 error indicates auth problems: either the user, password, or combination of user/password for IP Address (mysql can store different U/P depending on the IP source of the connection) is off.
Jarret Hardie
In all cases, be sure to settings.py file in your project with the correct database driver, username and password info. Are you running the django dev server? Are you running the django dev server and DB on the same machine? Or different machines? Looking forward to your updated posts.
Jarret Hardie
I'm using sqlite3. The other error that seems to be coming up a lot is "Type-error:__init__ got an unexpected keyword argument 'maxlength'.I think this has come up when syncing the db.
Mackristo
Fortunately, that's not a database error at all. That means that you've used a 'maxlength=' parameter in one of your model fields. The parameter was changed in Django 1.0 to 'max_length=' to be consistent with django forms parameters.
Jarret Hardie