为什么使用Django
-
快速开发
使用python
数据库ORM系统
-
大量内置应用
后台管理系统 admin
用户认证系统 auth
会话系统 sessions
-
安全性高
表单验证
SQL注入
跨站点攻击
易于扩展
Django知识储备
- python基础
- 数据库SQL
- HTTP协议
- HTML & CSS
- 正则表达式
Django 开发环境
python
ipython: 支持自动补齐
安装pip:
sudo apt-get install python-pip
-
安装django:
- pip安装
sudo pip install django
- 源码安装
git clone https://github.com/django/django.git
python setup.py install
- pip安装
第一个django项目
django-admin startproject mysite
python manage.py runserver
Django 创建工程和应用
- 工程目录详解
- manage.py: django总管命令
python manage.py runserver
python manage.py shell
python manage.py migrate
- etc...
- mysite
- setttings.py: 网站的配置文件
- urls.py: URL映射配置文件, 指定URL指向的页面
- wsgi.py: Web server gateway interface, python 应用程序或框架和Web服务器之间接口
-
创建Django应用
django中使用应用来分割功能: 游戏新闻、游戏论坛、在线商城、
创建blog: python manage.py startapp blog
添加应用: mysite/setttings.py INSTALLED_APPS
views.py: 响应客户请求返回htmp页面
models.py: 定义数据库中的表
admin.py: admin相关
test.py: 测试相关
migrations: 数据库相关, after version 1.8
-
Django 开发实例 -- blog
URL配置 -- 建立URL与响应函数之间的关系
视图 Views -- 响应客户http请求,进行逻辑处理,返回给用户html页面
模型 Models -- 描述我们服务器存储的数据(数据库的表)
模板 templates -- 用来生产html页面,返回给用户的html,是由数据(模型)和模板渲染出来的。