django学习文档

原因

不会开发的运维不是好司机,自己满足自己的自动化运维需求,能提升效率。

学习环境

os:ubuntu1404
python:2.7
django:1.8

环境部署

1
2
3
4
5
6
7
sudo apt-get install python-pip
pip install virtualenv
which python #查看python位置
virtualenv --no-site-packages -python=/bin/python py2dj1
source ~/py2dj1/bin/active #进入环境
pip install django==1.8
deactive #退出环境

主要概念

view 视图
view是处理业务逻辑的部分。在view中写函数实现业务逻辑。

url 路由
url是控制部分,用户控制前端访问的url由什么函数返回。支持多种正则匹配。匹配返回的元组第二项可以作为视图函数中的第二个变量。

template 模版
模版用户把html生成语句从view中分离,达到界面展示和业务逻辑松耦合。包含模版标签{\% \%},支持for循环,if-else判断,equal判断。模版变量\{\{ \}\}。模版之间有include和extend关系。一般是使用extend继承关系。
model 模型
模型是django抽象的描述数据库结构,用于创建数据库和表。可自定义class创建数据类型。表之间的关系有1对多(forinen key),多对多(manyTomany)。模型中的增删改查有特定的语法。

admin后台
admin后台是所有web站点通用的管理后台,用于在后台设置用户及权限,手动输入信息等。

遇到的坑

django1.1.0和1.8及2.0之间差异较多,包括包名称和结构,manage.py命令。
django与python的适配如下

Django version Python version
1.8 2.7,3.2,3.3,3.4,3.5
1.9,1,10 2.7,3.4,3.5
1.11 2.7,3.4,3.5,3.6
2.0 3.4,3.5,3.6
2.1 3.5,3.6,3.7

参考链接

https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
http://djangobook.py3k.cn/2.0