本文分享内容如下:
内容目录
Django 基础
-
MVC
-
ORM
-
COMMAND
-
Authentication
Ansible 基础
-
配置
-
ad-hoc 命令集
-
python api
代码解读
演示
创建虚拟化环境并进入
python3/python -m venv venv
(linux)source venv\bin\active
(win) venv\Scripts\active
安装第三方库
pip install -r requirements.txt
初始化
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
配置免密登陆&剧本文件
ssh-keygen -t rsa -b 4096
ssh-copy-id -i ~/.ssh/id_rsa root@xxx.xxx.xxx.xx
echo xxx.xxx.xxx.xxx >> etc/hosts
运行
python manage.py runserver 0.0.0.0:8888
python manager.py fact
浏览器打开文件
Django
一个可以使 Web 开发工作愉快并且高效的 Web 开发框架,能够以最小的代价构建和维护高质量的 Web 应用
框架
软件开发工程师从日常的重复劳动中总结出快速的、模块化的、安全的软件开发模式
开发语言
Python
设计思想
MVC
ORM
MVC
M 模型 model
V 视图 view
C 控制器 controller
在 Django 中的 MTV
M 模型 Model
- 进行业务逻辑判断和数据存取
T 模板 Template
- 将数据展示给用户
V 视图 View
-
将用户请求数据传递给 Model
-
将 Model 返回的数据传递给 Template
URLS
-
用于配置 url 和 view 处理对应关系
-
注:url 都使用/结尾配置
ORM
Object Relation Mapping(关系对象映射)
- 用来把对象模型表示的对象映射到基于 SQL 的关系模型数据库结构中去
在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法
Command
-
开发者可为应用注册后台命令到 manage.py, 通过 python manage.py command 在命令行中执行程序
-
存放目录:
app/management/commands
- 命名格式:
继承自 BaseCommand 的 Command 类,并实现 handle 方法
Authentication
-
Django 带有用户身份验证系统,它处理用户帐户,组,权限和基于 cookie 的用户会话。
-
用户认证
创建用户: python manage.py createsuperuser
认证
from django.contrib.auth import authenticate, login, logout
user = authenticate(request, username=name, password=pwd)
login(request, user)
logout(request)
from django.contrib.auth.decorators import login_required
LOGIN_URL
Ansible
ansible 是一套自动化运维工具,基于 Python 开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。
学习流程
-
安装
-
管理协议
-
配置
-
ad-hoc
-
playbook
-
python api
安装
控制机器
pip install ansible==2.5.5yum install sshpass
受控机器
yum install libselinux-pythonyum install python2-simplejson(version < python2.4)
测试
echo localhost ansible_connection=local > hostsansible all -m ping -i hosts
管理协议
ansible 通过 ssh 协议对受控机器管理, 可使用口令和密钥对两种方式进行权限验证, 默认使用密钥对方式
在控制机器生成秘钥对
ssh-keygen -t rsa -b 4096 -C "kk"
添加到公钥到受控机器
远程拷贝添加
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
本地添加
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
测试
ssh root@xxx.xxx.xxx.xxxecho xxx.xxx.xxx.xxx >> hostsansible all -m ping -i hosts
python api
-
剧本&变量
-
playbook
-
命令行选项
-
https://docs.ansible.com/ansible/latest/dev_guide/developing_api.html#python-api-example
整理资料
代码讲解会在周四分享直播上详解为大家解说(附加源码)
2018-11-29(周四)21:00-22:00
将由我们的 KK 老师为我们详细解说《Django + Ansible 主机管理》
KK老师:
多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。
公告
51Reboot 第20期 Python 零基础运维自动化【入门班】
51Reboot Docker & K8S 课程
正在火热招生中
网友评论