本文给大家介绍如何利用 Django + Ansible 进行 Web 项目管理。

 

Django介绍

一个可以使 Web 开发工作愉快并且高效的 Web 开发框架,能够以最小的代价构建和维护高质量的 Web 应用。

所谓框架就是软件开发工程师从日常的重复劳动中总结出快速的、模块化的、安全的软件开发模式。

开发语言

Python

设计思想

MVC 与 ORM 计思想

MVC

M 模型 model

V 视图 view

C 控制器 controller

从下图中我们可以清晰形象的看出何为MVC设计模式:

在 Django 中的 MTV

M 模型 Model 

  • 进行业务逻辑判断和数据存取

T 模板 Template

  • 将数据展示给用户

V 视图 View

  • 将用户请求数据传递给 Model
  • 将 Model 返回的数据传递给 Template

URLS

  • 用于配置 url 和 view 处理对应关系
  • 注:url 都使用/结尾配置

ORM

全称:Object Relation Mapping(关系对象映射)

  • 用来把对象模型表示的对象映射到基于 SQL 的关系模型数据库结构中去

在具体的操作实体对象的时候,就不需要再去和复杂的 SQL 语句打交道,只需简单的操作实体对象的属性和方法

Ansible介绍

ansible 是一套自动化运维工具,基于 Python 开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。

学习流程

  • 安装
  • 管理协议
  • 配置
  • ad-hoc
  • playbook
  • python api

安装

控制机器

pip install ansible==
yum install sshpass

受控机器

yum install libselinux-python
yum install python2-simplejson(version < python2.)

测试

echo localhost ansible_connection=local > hosts
ansible all -m ping -i hosts

管理协议

ansible 通过 ssh 协议对受控机器管理, 可使用口令和密钥对两种方式进行权限验证, 默认使用密钥对方式

在控制机器生成秘钥对

ssh-keygen -t rsa -b  -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.xxx
echo xxx.xxx.xxx.xxx >> hosts
ansible all -m ping -i hosts

python api

  • 剧本&变量
  • playbook
  • 命令行选项
  • https://docs.ansible.com/ansible/latest/dev_guide/developing_api.html#python-api-example

整理资料

  • https://www.jianshu.com/p/1657f05e1f56
  • https://raw.githubusercontent.com/imsilence/ansible-doc/master/docs/ansible.png

关于 Django + Ansible 主机管理本来准备了很多东西要和大家,后来觉得还不如开个直博现场和大家分享,我知道很多人学习一样新东西的时候都死在了配环境上面了,没有人手把手指导怎么使用真的很绝望,因此在2018-11-29(周四)21:00-22:00,kk老师会直播给大家详细讲解 Django + Ansible,所谓技多不压身,想从事 web 开发的同学一定要去看一下呀!!!

2018-11-29(周四)21:00-22:00

将由我们的 KK 老师为我们详细解说《Django + Ansible 主机管理》

KK老师:

多语言混搭开发工程师,多年 PHP、Python 项目开发经验,曾就职 360、绿盟科技,7年工作经验。擅长于 Web 安全开发、性能优化、分布式应用开发&设计等多方面,51Reboot 金牌讲师。

具体参与方式:扫码添加小助手 备注:公开课 拉入直播分享群

 

 

Django + Ansible 主机管理(有源码)的更多相关文章

  1. Jquery+Ajax+asp.net+sqlserver-编写的通用邮件管理(有源码)

    开始 邮件管理通常用在各个内部系统中,为了方便快捷的使用现有的代码开发一个邮件管理系统而诞生的. 准备条件 这是我的设计表结构,大家一看就懂了 --邮件接收表CREATE TABLE [dbo].[T ...

  2. 【django小练习之主机管理界面】

    需求: 利用django,js,bootstrap等实现登录,主机管理等操作. 实现截图 登录界面 主机界面,添加及编辑 部门管理界面 代码实现 目录层级 settings.py "&quo ...

  3. Ansible状态管理

     转载自:http://xdays.me/ansible状态管理.html 简介 就像所有服务器批量管理工具(puppet有DSL,salt有state)一样,ansible也有自己的状态管理组件 ...

  4. eclipse导入已有源码

    http://blog.csdn.net/scruffybear/article/details/1917301 如有转载,请注明出处,并保持文章的完整性,谢谢! 最近工作之余在研究国外经典书籍< ...

  5. Django ORM 查询管理器

    Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...

  6. Shiro 核心功能案例讲解 基于SpringBoot 有源码

    Shiro 核心功能案例讲解 基于SpringBoot 有源码 从实战中学习Shiro的用法.本章使用SpringBoot快速搭建项目.整合SiteMesh框架布局页面.整合Shiro框架实现用身份认 ...

  7. saltstack主机管理项目:主机管理项目架构设计(二)

    1.salt架构图 https://docs.saltstack.com/en/getstarted/system/plugins.html plug-ins(左边):场景可插拔 subsystem- ...

  8. 六.ansible批量管理服务

    期中集群架构-第六章-ansible批量管理服务介绍====================================================================== 01. ...

  9. Ansible 批量管理Windows Server服务器

    Ansible批量管理Windows Server         Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具,  它用Python写成,类似于saltstack和Puppe ...

随机推荐

  1. 也许,这样理解HTTPS更容易

    http://kb.cnblogs.com/page/563885/ 本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样.但是这并不代表HTTPS的真实设计过程.在阅读本文 ...

  2. LinkedHashSet 元素唯一,存储取出有序

      package cn.itcast_04; import java.util.LinkedHashSet; /* * LinkedHashSet:底层数据结构由哈希表和链表组成. * 哈希表保证元 ...

  3. web应用配置文件详解(web.xml)

    转载链接地址:http://blog.csdn.net/guihaijinfen/article/details/8363839 <?xml version="1.0" en ...

  4. app数据加密方法

    由于项目涉及到注册和登录,所以我了解一下现在app使用比较广泛的几种密码加密方法,可以当作参考,以下都是在python3.5的环境下使用这些算法的例子. 1.base64 Base64是一种基于64个 ...

  5. 3631. [JLOI2014]松鼠的新家【树形DP】

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀 ...

  6. 1191. [HNOI2006]超级英雄【二分图】

    Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的 多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确 ...

  7. 【CF809E】Surprise me!

    题目 这是一道神仙题 看到这样一个鬼畜的柿子 \[\sum_{i=1}^n\sum_{j=1}^n\varphi(a_i\times a_j)\times dis(i,j)\] 又是树上距离又是\(\ ...

  8. django CBV模式下如何去掉csrf验证

    方式一:from django.views.decorators.csrf import csrf_exemptfrom django.utils.decorators import method_d ...

  9. 记一次爬虫经历(友话APP的Web端)

    背景:学校为迎接新生举办了一个活动,在友话APP的校园圈子内发布动态即可参与活动,最终抽取数名同学赠送福利. 分析:动态的数量会随着迎新的开始逐渐增加,人工统计显然不现实,因此可以使用爬虫脚本在友话A ...

  10. 20155314 2016-2017-2 《Java程序设计》第9周学习总结

    20155314 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义 ...