Tuesday, January 31, 2012

Python & Django - Where Should this code live?

Where should this code live?
If your background is in PHP, you're probably used to putting code under the Web server's document root (in a place such as /var/www). With Django, you don't do that. It's not a good idea to put any of this Python code within your Web server's document root, because it risks the possibility that people may be able to view your code over the Web. That's not good for security.
Put your code in some directory outside of the document root, such as /home/mycode.
Let's look at what startproject created:
mysite/
    __init__.py
    manage.py
    settings.py
    urls.py
These files are:
§                                 __init__.py: An empty file that tells Python that this directory should be considered a Python package. (Read more about packages in the official Python docs if you're a Python beginner.)
§                                 manage.py: A command-line utility that lets you interact with this Django project in various ways. You can read all the details about manage.py in django-admin.py and manage.py.
§                                 settings.py: Settings/configuration for this Django project. Django settings will tell you all about how settings work.
§                                 urls.py: The URL declarations for this Django project; a "table of contents" of your Django-powered site. You can read more about URLs in URL dispatcher.

No comments: