首先确保django已安装,我们可以尝试在Python环境下import django,如果命令执行成功,则表示安装成功。
接着来看看如何建立一个新的项目:
通过一个命令来建立新项目:django-admin.py startproject mysite
执行过以后在当前目录将会生成新目录mysite,在其目录下会生成如下文件:__init__.py,manage.py,setting.py,urls.py。
各个文件的意义如下:
* __init__.py:这文件是空的,意义体现在python将审核该文件来确定该包为可引用的包。
* manage.py:该文件为一个命令行的工具,用户可通过该工具以交互式来管理运行该项目。
* setting.py: 该项目的配置文件,django配置文件将告诉你该项目是如何运转的。
* urls.py: 该项目的url声明文件,用于匹配客户端请求链接。
下一步来看看运行起来的django项目:
之前提到的manage.py在这将很有用处,执行:python manage.py runserver
执行完后你将看到如下信息:
Validating models... 0 errors found. Django version 1.0, using settings 'mysite.settings' Development server is running at :8000/ Quit the server with CONTROL-C.在这里我们使用的是django自带的web,只限于测试开发,如果用于生产环境中,则建议使用其他的产品级的web服务器,如apache。
这样当你在浏览器中访问:8000/,你将会看到Welcome to Django. it works.
如何来修改ip和端口来访问呢,通过如下命令则可实现:
----修改访问端口
python manage.py runserver 8080
----修改IP
python manage.py runserver 192.168.1.100:8000
接下来接触到的将是database(数据库)的设置:
django任何的配置参数将通过setting.py来实现,如下:
* Engine -- 定义使用哪种数据库,目前DJANGO支持如下数据库:postgresql_psycopg2,postgresql,mysql,sqlite3,Oracle.
* Name -- 此处为数据库中此项目使用的库名。如果使用的是sqlite3,在你计算机里面会有一个文件,这里必须是一个完整的路径,如果文件不存在,系统将自动生成该文件。win下的为:c:/home/users/django/sqlite3.db
* USER -- 数据库的用户名,如果使用的sqlite3,此处为空值;
* PASSWORD -- 数据库密码,如果使用的是sqlite3,此处为空值;
* HOST -- 数据库所在主机,如果与项目为同一台物理主机,此处为空值。
如果你是个数据库新手,django建议你使用自带的数据库sqlite3。python2.5以后的版本都支持sqlite3.
如果你使用了Postgresql或者Mysql,请确保建立了项目将要使用的数据库,建库语句为"create database database_name";
django中通过命令:python manage.py syncdb 来实现数据库建表。
接下来看看如何创建项目模块:
现在我们在之前的mysite下建立一个新的模块polls,如下:
python manage.py startapp polls
这样我们就成功创建了polls模块,polls目录下将会有如下文件:__init__.py,models.py,tests.py,views.py。
下面我们编辑models.py,建立两个模块类型:
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
Poll和Choice都为models.Model的子类,charfield及datetimefield为表中的字段类型,像question和pub_date为地段名。
django中也支持数据库多对一,多对多,一对一。
Poll和Choice两个模块已经建立,如何让django生成他们相对应的表呢,这时,我们再一次编辑setting.py这个文件,让mysite知道polls的存在,在INSTALLED_APPS中添加polls,然后执行如下命令:
python manae.py sql polls
此时数据库中创建了polls_poll和polls_choice两个表。
如果你有兴趣也可以登陆django官网了解其他命令:
* python manage.py validate
* python manage.py sqlcustom polls
* python manage.py sqlclear polls
* python manage.py sqlindexes polls
* python manage.py sqlall polls
表建好以后,我们再次运行python manage,py syncdb 确保数据库表被建立。