Introduction
to Django
1.
High level web framework
1.
Basic modules, classes, and tools to
quickly develop and deploy web apps
2.
Contains an ORM (Object-Relational
Mapper) that allows for the use of standard Python language syntax when
interfacing with a back-end database.
1.
Developer need not learn SQL, DDL,
etc!
3.
Provides a template framework that
allows HTML, XML, and other “documents” to be converted into “templates”, which
can then be converted to “output” via a wide range of substitution techniques.
4.
Elegant URL support (fancy,
beautiful URL's, no “?blah=blah”, etc.)
5.
Multi-lingual
2.
Fast and easy to use, robust,
flexible, and lots of contributed components available!
1.
Built in administrative interface to
manage data models.
2.
Built-in authentication/access
control components
3.
Contributed
Installing
& Configuring Django Components
1.
Django can be downloaded from
http://www.djangoproject.com/download
2.
Unpack and install Django
3.
Unpack the sources and run the
command below from the Django source directory as the root user: python
setup.py install
4.
This command works the same on
Windows as it does in the Linux environment, you just need to make sure you
call the correct interpreter.
· Current version of Django provide support for three
databases:
o PostgreSQL
using the psycopg and psycopg2 drivers .
§ Unix versions can be downloaded from
http://initd.org/pub/software/psycopg/
§ Windows version are available at
http://stickpeople.com/projects/python/win-psycopg/
o MySQL
using the MySQLdb package.
§ This package is available at
http://sf.net/projects/mysql-python/ .
o SQLite
3 using the pysqlite package.
§ This package is available at
http://trac.edgewall.org/wiki/PySqlite .
· SQLite support is included in Python version 2.5 and newer.
· Django supports all of these databases in the same
manner, so which you choose to use
here makes little
difference, since everything is
coded in the same
way.
· When you move to your own development system,
you'll need to choose a database
based on your
needs and the software deployed in
your enterprise.
Creating a
New Project
· The django-admin.py tool is used to create a directory and
create “default” files for a new Django project.
o A
project is generally made up of one or more “apps”
o Functional
code is contained within the apps.
· Use the django-admin.py script to create the new project
files. django-admin.py startproject name
o The
startproject argument tells the command that we need it to initialize a new
Django project.
o The
name argument allows us to specify the name of the project to be created.
o When
the command runs, it will create a new directory called name in the current
directory, and populate it with a few files:
o __init__.py : A file that causes Python to treat the directory as
a package.
o manage.py: A command line utility to communicate with Django.
o settings.py: Configuration settings for the project.
o urls.py: URL declarations for the project. The URL's tell Django
what to do when certain URL's are put into the browser.
Starting the
Test Server
§ Once
you've created your project, you can test it by starting up the Django
development server.
o You can start the server using the command:
python manage.py
runserver
o This
command will start up the server and listen on port 8000 of your system.
o You
can use your web browser to connect to the server using the URL the command
returns
Creating a
New Application
§ Once
you've created a project, you'll need to create an application.
o Django
models and views are handled through the application itself – not the project,
which consists of primarily
the controller and base settings (such as data store information)
§ You can
begin a new app by opening a shell window in your project directory and issuing
the 'startapp' command.
§ Like
projects, you should avoid using reserved words for your app name, otherwise
you might run into problems later
§ Once
you've created a new app (or installed an app from a third party), you'll want
to add it to the list of INSTALLED_APPS in your projects 'settings.py' file
§ Apps are
not actually used until they are installed, so you'll want to make sure you
install your app, or it won't be usable in your project
Comments
Post a Comment