django简介
1、简介
django是用python编写的开源web框架。
Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则。
django内含许多内置的工具、系统、应用等,让我们可以快速开发一个web网站。
2、安装
安装:
pip 安装:
pip install Django
源码安装:
下载源码包:https://www.djangoproject.com/download/
输入以下命令并安装:
tar xzvf Django-X.Y.tar.gz # 解压下载包
cd Django-X.Y # 进入 Django 目录
python setup.py install # 执行安装命令
3、使用
创建第一个django项目
(1)进入安装目录,输入
django-admin.py startproject TestProject
(2)创建完成后我们可以查看下项目的目录结构:
$ cd TestProject/
$ tree
.
|-- TestProject
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
(3)目录说明:
- TestProject: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- TestProject/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- TestProject/settings.py: 该 Django 项目的设置/配置。
- TestProject/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- TestProject/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
(4)进入 TestProject目录输入以下命令,启动服务器:
python manage.py runserver 0.0.0.0:8000
0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
(5)视图和 URL 配置
在先前创建的 TestProject目录下的 TestProject 目录新建一个 view.py 文件,并输入代码:
TestProject/TestProject/view.py 文件代码: from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ")
(6)接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
TestProject/TestProject/urls.py 文件代码: from django.conf.urls import url from . import view urlpatterns = [
url(r'^$', view.hello),
]
url() 函数
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
*regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
*view: 用于执行与正则表达式匹配的 URL 请求。
*kwargs: 视图使用的字典类型的参数。
*name: 用来反向获取 URL。
(7)整个目录结构如下:
$ tree
.
|-- TestProject
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py # url 配置
| |-- view.py # 添加的视图文件
| |-- view.pyc # 编译后的视图文件
| |-- wsgi.py
| `-- wsgi.pyc
`-- manage.py
(8)完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问:
python manage.py runserver 0.0.0.0:8000
注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。
4、更多
django还有模板、模型、表单等更多内容,也有自己的后台系统等,可以和uwsgi、nginx一起搭建一个更稳定强大的服务器。
Django 特点
强大的数据库功能
用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句
自带的强大的后台功能
几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容!
优雅的网址
用正则匹配网址,传递到对应函数,随意定义,如你所想!
模板系统
强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。
缓存系统
与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。
国际化
完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。
组件
Django框架的核心包括:一个 面向对象 的映射器,用作数据模型(以Python类的形式定义)和关系性数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统。
核心框架中还包括:
- 一个轻量级的、独立的Web服务器,用于开发和测试。
- 一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。
- 一个缓存框架,并有几种缓存方式可供选择。
- 中间件支持,允许对请求处理的各个阶段进行干涉。
- 内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。
- 一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。
- 一个用于扩展模板引擎的能力的系统。
内置应用
Django 包含了很多应用在它的"contrib"包中,这些包括:
- 一个可扩展的认证系统
- 动态站点管理页面
- 一组产生RSS和Atom的工具
- 一个灵活的评论系统
- 产生Google站点地图(Google Sitemaps)的工具
- 防止跨站请求伪造(cross-site request forgery)的工具
- 一套支持轻量级标记语言(Textile和Markdown)的模板库
- 一套协助创建地理信息系统(GIS)的基础框架
参考:
http://www.runoob.com/django/django-tutorial.html
http://www.ziqiangxuetang.com/django/django-tutorial.html
https://zh.wikipedia.org/wiki/Django