vim,python,svn,fiddler一些技巧

本文介绍如何在Windows环境下配置SVN命令行客户端,并解决Django中AutoField自增字段初始值问题。此外还分享了Python中获取类的方法和属性列表、Vim中的简单计算技巧及使用Fiddler模拟POST请求的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:http://blogread.cn/it/article/2226?f=footerrecommend

这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。

一.svn命令行在windows下面的安装使用 
一直以来都使用svn管理源码,但是在windows下一直使用TortoiseSVN的界面进行管理,但是对于我这种键盘控(vim后遗症)来说,简直是无法忍受的! 
搜啊搜啊搜啊,终于发现了-----CollabNetSubversion 
下载页面:http://www.collab.net/downloads/subversion/ 
如果象我一样只需要命令行的话,下载CollabNet Subversion Command-Line Client v1.6.12 (for Windows)即可,网站需要先注册一下。 
基本上安装完了,svn up、svn add就可以用了,但是svn ci的时候,你会发现如下提示:

svn: Commit failed (details follow): 
svn: Could not use external editor to fetch log message; consider setting the $S 
VN_EDITOR environment variable or using the --message (-m) or --file (-F) option 

svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and 
no 'editor-cmd' run-time configuration option was found

所以还需要在环境变量里设置一下:

SVN_EDITOR 
C:\Vim\vim72\vim.exe

因为机器上本来就有vim,所以直接这样设置了,对于别的编辑器可不可以就不知道啦,截图如下:

1

二.django中autofield无法设置自增字段初始值的问题 
众所周知,在mysql中,创建自增字段并设置初始值是采用如下的方法:

AUTO_INCREMENT=初始值

但是django的autofield字段是不支持设置初始值的,解决方案无非3种: 
1.在创建库表之后,手动alert table 表明 AUTO_INCREMENT=初始值 
2.在创建库表之后,手动插入一条记录,该记录的ID是你想要其实的最小ID 
3.重写Model的save方法,设置起始ID

第二种应该是最差劲的,第一种会让部署时出现多余的步骤,还是第三种最为简单,实现代码如下:

class MManDevMedia(models.Model): 
    def save(self, force_insert=False, force_update=False, using=None): 
        if not MManDevMedia.objects.all(): 
            self.id = 500000000 
        super(MManDevMedia,self).save(force_insert,force_update,using)

 

三.python中获取类的所有方法和字段列表 
代码如下:

def GetProperties(obj): 
    propList = [prop for prop in dir(obj) if (not prop.startswith('_') and not callable(getattr(obj, prop))) ] 
    return propList 
def GetMethods(obj):   
    methodList = [method for method in dir(obj) if (not method.startswith('_') and callable(getattr(obj, method))) ] 
    return methodList

对应getattr的函数还有hasattr和setattr,都是动态设置字段值的重要函数。

 

四.Vim中的CTRL+R = 
其实是个简单的小功能,就是实现简单的数值计算,不过却可以省去你离开Vim去打开计算器的时间。 
操作方式如下: 
插入模式下输入ctrl+r,然后输入=,输入任意算数式,比如333*2,回车,即可看到结果。

 

五.fiddler模拟post请求 
在公司经常有测试CGI(在遇到python之前写CGI测试代码那叫一个痛苦),但是post方法不像get方法那样可以直接在浏览器里面输入就行,所以有时候还是挺痛苦的,还好我们有fiddler(据说fiddler刚出的时候,可是引起一群前台开发的欢呼呢。。) 
方法如下,直接上图: 
以自测的一个url为例:http://172.16.56.103/cgi-bin/xyoapp/xyoapp_get_userinfo.cgi?openid=0000000000000000000000000039811C 
1.打开fiddler,在浏览器中输入你的url,会看到fiddler抓包如下,注意有个Request Builder标签页.

 2   

2.打开那个Request Builder标签页,把选中的那个url拖到框里去,注意红框的部分:3

3.把红框的部分改成如下,并填写对应的post参数,执行Excute:4

4.左边多了一个请求,成功:

5

OK,就这样吧~~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值