This is a work in progress, answering questions that do indeed get asked frequently on the [irc://irc.freenode.net/django Django IRC channel] (#django on irc.freenode.net). Feel free to contribute, but try to keep it clear and concise. Please don't editorialize. = Python questions = == How do I learn Python if I'm new to programming? == * http://www.ibiblio.org/obp/thinkCSpy/ * http://wiki.python.org/moin/BeginnersGuide/NonProgrammers == How do I learn Python if I'm '''not''' new to programming? == * http://docs.python.org/tut/tut.html * http://www.diveintopython.org/ * http://wiki.python.org/moin/BeginnersGuide/Programmers == Are there any books on Python? == Yes. http://wiki.python.org/moin/PythonBooks = Django questions = == Which version should I use, the 0.95.1 release or the Subversion checkout? == The 0.95.1 release is the most well-tested. That said, many people run sites based on a Subversion checkout happily. If you '''do''' use a Subversion checkout, note that you don't need to run {{{setup.py}}} -- just make sure that the checkout is on your Python path. == Should I read the documentation on the djangoproject.com website, or djangobook.com? == Start with the [http://www.djangoproject.com/documentation/ documentation] here. This is especially true if you're using 0.95.1, since the version that djangobook.com describes has some significant differences. == How do I extend a model? I want to subclass django.contrib.auth.models.User. == You can't do this at the moment, but model subclassing is being worked on. Also, see here. http://www.b-list.org/weblog/2007/02/20/about-model-subclassing == If I change my model, will {{{manage.py syncdb}}} update my database table? == No, you'll need to manually change your database table. If you use `manage.py sqlall` on your app to produce a SQL file before editing your models, you can run it again afterwards and use the difference between the two to see what you need to change in the database. == What should I use for development -- the built-in server, mod_python, FastCGI? == It's generally easiest to use the built-in development server, since it automatically reloads your Python source files when it detects changes. (Some prefer to replicate the production environment as closely as possible, meaning that if their deployed project uses mod_python then their development server does as well.) == What's the difference between {{{null=True}}} and {{{blank=True}}} in models? == `null=True` means that the database will accept a `NULL` value for that field; `blank=True` means that Django's validation system won't complain about a missing value. If you use `blank=True` but ''not'' `null=True` you will need to have your code fill in a value before storage in the database -- specifying a default on a field, or putting something in the model's `save` method to generate a value are two good ways to handle this, and can be extremely useful when you want to calculate one field's value based on others. == I think Ajax is awesome! How do I do Ajax with Django? == Choose your favorite excellent Javascript library and go to it. Django provides serializers to JSON and XML, which you can read about in the documentation: http://www.djangoproject.com/documentation/serialization/ Also see this helpful article from James Bennett (with bonus anti-Javascript-helpers rant!): http://www.b-list.org/weblog/2006/07/02/django-and-ajax == Is there a free CMS available for Django? == At this point there is nothing well-established (like Plone, for instance). In practice, people mean so many different things by "CMS" that it may be hard to get a straight answer. This question is often asked by newcomers; one recommendation is to learn a bit of Django and see just how easy it is to make a site that does what you want. If you're in a big rush, there's always Ellington: http://www.ellingtoncms.com/ == What database should I use? == For development, most people find SQLite to be fastest and simplest to run with. (But make sure the database and its directory are writeable by the owner of the web server process!) == The admin is working, but it can't find the Javascript and CSS and image files. == You're running the development server, right? Read this: http://www.djangoproject.com/documentation/static_files/ == I'm trying to install Django on Windows and something is weird. == Have you looked here? http://code.djangoproject.com/wiki/WindowsInstall == What editor is best for Django? == [wiki:UsingVimWithDjango Vim]. No, wait, [wiki:Emacs Emacs]. A lot of people seem to like TextMate, too. == When will the next release be out? -or- When will X branch be done? == "When it's done" is the short answer. Fixed release dates are rarely set, but searching or browsing the developer list (http://groups.google.com/group/django-developers/) can be informative.