天天看点

Django学习笔记(一)

一、Django介绍

  Django是一个开放源代码的Web应用框架,由python编写。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团放下的一些以新闻内容为主的网站的,即CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。

  Django框架的核心组件有:

  1.用于创建模型的对象关系映射

  2.为最终天启设计的完美管理界面

  3.一流量的URL设计

  4.设计者友好的模版语言

  5.缓存系统

二Django工作机制:

1.用manage.py runserver 启动Django服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls .py

2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。

3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)

4.最后该view函数负责返回一个HttpResponse对象。

Django学习笔记(一)

三、Django下载安装

Django可以运行在Apache上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql, Sqlite3,Oracle。Google App Engine也支持Django的某些部分,国内支持的平台有(SAE)Sina App Engine,(BAE)百度应用引擎。

安装很简单,如下:

wget https://www.djangoproject.com/download/1.6.2/tarball/
tar xzvf Django-1.6.2.tar.gz
cd Django-1.6.2
python setup.py install      

四、使用Django

1、启动项目

[root@CnDkItvssh2 bamboo]#django-admin.py  startproject  testproject

[root@CnDkItvssh2 bamboo]# tree

.

└── testproject

├── manage.py

└──testproject

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

2 directories, 5 files

2、创建应用程序

[root@CnDkItvssh2 bamboo]# cd testproject/

[root@CnDkItvssh2 testproject]# ls

manage.py testproject

[root@CnDkItvssh2 testproject]# pythonmanage.py startapp testapp

[root@CnDkItvssh2 testproject]# cd testapp/

[root@CnDkItvssh2 testapp]# tree

├── admin.py

├── models.py

├── tests.py

└── views.py

0 directories, 5 files

为了使 Django 认识到新应用程序的存在,还需要向 settings.py 文件中的 INSTALLED_APPS 添加一个条目。对于这个应用程序来说,必须添加字符串testapp

[root@CnDkItvssh2 testproject]# vimtestproject/settings.py
INSTALLED_APPS = (
   'django.contrib.admin',
'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'testapp',
)      

3、创建视图

[root@CnDkItvssh2 testproject]# vimtestapp/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(req):
  return HttpResponse('<h1>Hello world!</h1>')      

4、配置urls.py

[root@CnDkItvssh2 testproject]# vimtestproject/urls.py

url(r'^testapp/index/$','testapp.views.index')

5、启动Django

[root@CnDkItvssh2testproject]# python manage.py runserver 0.0.0.0:8002

Validating models...

0 errors found

March 11, 2014 - 07:18:50

Django version 1.6.2, using settings'testproject.settings'

Starting development server athttp://0.0.0.0:8002/

Quit the server with CONTROL-C.

6、测试访问