Django
Django是一个开源的Web应用框架,使用Python编程语言写成。采用了MVT的软件设计模式,即模型(Model),视图(View)和模板(Template)。Django的主要目标是简化数据库驱动的网站的开发。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。
简介
时间轴
- 2005年7月21日,使用BSD许可证发布。
- 2008年6月17日,Django成立基金会。
安装
使用pip安装:
pip install Django
了解更多 >> Django 文档:如何安装 Django
基础知识
架构
第一个 Django 应用
创建项目
打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:
django-admin startproject mysite
了解更多 >> Django 文档:创建项目
启动简易服务器
打开命令行,cd进入到manage.py所在目录,然后运行以下命令:
python manage.py runserver
#默认监听本机内部 IP 的 8000 端口,也可以指定其他,如8002端口:
python manage.py runserver 8002
现在已经启动了Django 自带的用于开发的简易服务器。浏览器访问 https://127.0.0.1:8002/ ,就可以看到“祝贺”页面。
了解更多 >> Django 文档:用于开发的简易服务器
URL 路由
URL路由在urls.py文件中配置,URL模式到视图函数的简单映射。
了解更多 >> Django 文档:URL调度器
视图函数
视图函数接收Web 请求并返回一个 Web 响应,这个响应可以是任何内容,如HTML内容、图片、重定向、404错误等。
了解更多 >> Django 文档:编写视图
模板
内置模板标签
标签 | 写法 | 描述 | 示例 |
---|---|---|---|
block | {% block 块名称 %}
...
{% endblock 块名称 %}
|
定义一个可以被子模板覆盖的块。更多信息请参见 模板继承。 | |
include | |||
url |
了解更多 >> Django 文档:内置模板标签和过滤器
内置过滤器
过滤器 | 描述 | 示例 |
---|---|---|
add | 变量加上参数值。这个过滤器将首先尝试将两个值强制转为整数。 | {{ value|add:2}} value的值加2 {{ value1|add:value2 }} value1加value2值。
|
了解更多 >> Django 文档:内置模板标签和过滤器
数据模型
概览
Django提供了ORM功能,能更方便管理数据库。对象关系映射Object-Relational Mapping(ORM),是使用面向对象的方式操作数据库,映射关系如下:
数据库 | 编程语言 |
---|---|
表(table) | 类(class) |
记录(record)或称行 | 对象(object) |
字段(field)或称列 | 对象的属性(attribute) |
了解更多 >> Django 文档:模型和数据库
日志
概览
Django 使用 Python 内置的 logging 模块处理系统日志。将下面一个简单的日志配置放入settings.py
中,它将所有来自 django 命名的记录器的日志记录写入本地文件。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
了解更多 >> Django 文档:日志
日志配置
名称 | 描述 | 示例 |
---|---|---|
Loggers | 日志系统的入口 由一个或多个logger组成,每个logger都是由名称和logger配置项组成。 logger参数: level 配置日志级别,可选值:DEBUG:排查故障时使用的低级别系统信息。INFO:一般的系统信息。WARNING:描述系统发生了一些小问题的信息。ERROR:描述系统发生了大问题的信息。CRITICAL:描述系统发生严重问题的信息。handlers 配置使用的handler列表,如'handlers': ['handler1', 'handler2']。
|
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
|
Handlers | 处理logger消息 配置消息输出位置,屏幕、文件或网络 socket。和 logger 一样,handler 也有日志级别的概念。 |
|
filters | 过滤器 在日志记录从 logger 传到 handler 的过程中,使用 Filter 来做额外的控制。 |
|
Formatters | 文本的格式 将日志记录文本按特定格式组织。 |
了解更多 >> Django 文档:日志
资源
官网
- Django 官网:https://www.djangoproject.com/
- Django 文档:https://docs.djangoproject.com/zh-hans/