博客 2016-05-12

目标:

- python 2.7.5 -> 3.5.3    (执行更快,更多新功能。工作包括程序语法检查、修改)

- django 1.6 -> 1.9       (功能更加完善、后台更加强大)

- bootstrap 2.3 -> 4.0    (前台更加漂亮、灵活、丰富)


出现问题:


1.[Django]Django Python3出现Error loading MySQLdb module:No module named ‘MySQLdb’问题

vim /apps/dbdat/envdolphin/lib/python3.5/site-packages/django/db/backends/mysql/base.py
import pymysql
pymysql.install_as_MySQLdb()


2.'WSGIRequest' object has no attribute 'REQUEST'

return int(self.POST['page'])
Replace `request.REQUEST` with `POST` and `GET`


3.python3 TypeError: POST data should be bytes or an iterable of bytes. It cannot be of type str

	data = urllib.parse.urlencode(d).encode("utf-8")
	其中urllib2.urlopen()变成了urllib.request.urlopen()
       urllib2.Request()变成了urllib.request.Request()
	   
	   
	website_string = website_bytes_utf8.decode()   # to str
    website.encode(encoding="utf-8")  # to bit	


4.

博客 2016-04-14

场景:

内网的Ansible, 可能需要连接DMZ区,只能通过代理转发实现。


服务器配置:

1.分类

10.6.17.100 Ansible 服务器

10.6.17.110 踏板机(当代理)

172.6.2.30 远程机


2.配置ansible 服务器conf

vim ~/.ssh/conf

Host bastion
    User ansible
    HostName  10.6.17.110
    ProxyCommand none
    BatchMode yes
Host 172.16.10.*
    ServerAliveInterval 60
    TCPKeepAlive        yes
    ProxyCommand        ssh -qaY bastion 'nc -w 14400 %h %p'  #or ProxyCommand ssh -W %h:%p bastion 
    ControlMaster       auto


3.连接

ssh 172.6.2.30


参考资料:

博客 2016-04-13

简介:

想用最新的版本系统、软件,就把Ubuntu 14.10模式化安装Arch Linux(比较怀念KDE)


安装过程:

1.U盘记录ISO

如果是Linux系统,就用UNetbootin记录

或者:(是sdb,不是sdb1 哦!)

dd if=arch.iso of=/dev/sdb bs=4M


2.安装吧:

连网: wifi-menu 

查看硬盘: lsblk

格式化:

(parted) mkpart primary ext4 1MiB 100MiB
(parted) set 1 boot on
(parted) mkpart primary ext4 100MiB 20GiB
(parted) mkpart primary linux-swap 20GiB 24GiB
(parted) mkpart primary ext4 24GiB 100%
博客 2016-04-13

简介:

VMware 创建虚拟机、变更等流程比较繁琐,与现在的云平台、容器等易用性,相差很远。下面就简单介绍最近做的自动化平台上的一个项目:自动化之虚拟化


工作流程:

MIP   ->  自动化平台  ->  调用VCO   ->  VCO 创建虚拟机等动作


1. 从流程审批引擎(公司叫MIP)获取申请、审批信息


2.自动化平台 拿到数据之后 显示一个已经获取数据的表单,管理员只需简单的修改,提交,就可以生成主机等操作


实现要点:

1. 原始数据提取

原始数据是富文本编辑器内的一个表单,也就是一个字段,提取方法可见如何解析HTML


2. 提取数据 需要二次修改

第一次(修改用户填数据),只需要简单修改。比如选不同的部门、不同系统等

微录 2016-03-29

公司VPN 用Linux 远程连接问题(FF):



  1. sudo apt-get install openjdk-7-jdk icedtea-7-plugin

  2. 安装 snx , 执行snx 报错 找不到libstdc++......

  3.  ldd /usr/bin/snx  |grep "not found"(会显示不支持)

  4. apt-get install libstdc++5:i386 libpam0g:i386



Checkpoint SNX on Ubuntu 14.04 LTS (Trusty Tahr)



博客 2016-03-11

简介:

python 连接Oracle 过程总结(Linux)


下载Oracle客户端: 

下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 

需要注册


下面几个(py27代表python2.7版本):

cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm (https://sourceforge.net/projects/cx-oracle/files/)

instantclient-basic-linux.x64-12.1.0.2.0.zip

instantclient-sdk-linux.x64-12.1.0.2.0.zip


安装过程:

1.安装包

$unzip instantclient-basic-linux.x64-12.1.0.1.0.zip
$sudo cp -r instantclient_12_1 /opt

unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
cp sdk instantclient_12_1

$vi /etc/profile
export ORACLE_HOME=/opt/instantclient_12_1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

$source /etc/profile


2.用PIP安装

pip install cx_Oracle


连接方法: 

博客 2016-03-09

简介:

平时会遇到不同的需求:Json 转化表格;表格转化Json.....   但这里转换的是不规则的表格(如下图),如何转换? 

前提:这个表单保存在数据库一个字段里面!



常用方法:

1.JS脚本转换 主要是Jquery等方法,比较好用


2. Python 的模块解析SGMLParser等


3. 安装Nodejs 去解析 服务器端执行(有点大材小用)


表单如下:


blob.png


HTML内容如下:

博客 2016-02-26


app:auto 

在auto 下面新建templatetages __init__.py为空

[root@56ee92471bf3 apps]# tree auto/
auto/
├── admin.py
├── views.py
├── __init__.py
├── templatetags
│   ├── __init__.py
│   ├── myfilter.py


[root@56ee92471bf3 apps]# cat auto/templatetags/myfilter.py
#!/usr/bin/python
# -*- coding : utf-8 -*-
 
from django import template  
register = template.Library()  

def too(value,arg=None):  
    return value + value
register.filter('too', too)



html代码:

{% load myfilter %}
{% for line  in allresult %}
{{line|too}} <br/>

{% endfor %}


注意:

需要重启,才能加载刚才的类


参考:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters

博客 2016-02-26


当一条命令执行不成功,执行另外的命令,可以使用when 与register ,使用如下


yaml:

blob.png


执行结果:

blob.png


参考:http://blog.csdn.net/ggz631047367/article/details/50359127

   http://blog.laisky.com/p/ansible/


博客 2016-02-26

简介:

js 判断不是IP,阻止post ,也可以用来判断是否手机号!


HTML: 


blob.png


form 内容:

 <textarea name="ippasswd"   required="required" style="color:gray" id="ippasswd" 
 class="span4" rows="10" cols="30" 
 placeholder="填写格式如下:&#13;&#10;IP1;passwd1&#13;&#10;IP2;passwd2&#13;&#10;IP3;passwd3">
 </textarea>


button 格式:

<button type="submit" class="btn btn-primary" onclick="return openurl()">{% trans "Submit" %}</button>


js 内容: 

i-- 2/9 i++