给django admin加上在线编辑运行python代码的功能



给django admin加上在线编辑运行python代码的功能

网站后台管理的需求变幻莫测, 可能今天需要统计用户数据, 明天需要计算商品库存, 后天需要置一个标志量来配合一个促销活动. 然而先更新本地程序, 再上传到svn, 再在远端更新, 再重启fcgi, 这太麻烦了. 一个小小的功能, 杀鸡焉用牛刀乎?

于是乎呢, 我就想出了这么个主意. 写了一个我称之为ploader的app. 他的功能就是可以在线编辑python代码并且运行之, 可以储存和管理. 我认为一个很方便的功能是, 它可以同时保存view和template, 也就是说, 你可以在一个界面里, 在线的把html template和python view都写了, 然后一句话即可render之. 还可以控制匿名用户访问, 让他们只看到渲染结果. 完全省去了简单页面的编辑url, 上传template之苦. 理论上说, 他什么都可以做, 只有想不到, 没有做不到, 因为他是万能的python!

让我们看看应用的实例
加一个网站维护工具链接

这是一段普通代码, 统计平均利润, 点debug以后可以直接在这个界面里运行

这是一个简单的群发邮件, 取出所有user的email并且把输入的数据发送给他们.

这是一个view, 带有自己的template, 允许匿名访问. 用商品数据生成一个简单的促销商品列表页面.


写ploader的程序的时候需要注意几个地方:
1.内部变量, out代表输出和input_data代表输入, 写程序的时候不可以重名.
2.有三个额外的函数可以用, 分别是o(), oo(), render_response(). o可以输出一个变量到文本结果(out), oo可以输出多个变量到文本结果, render_response()则直接把input_data作为template, 渲染之, 然后返回response, 比shortcut还shortcut.

这里是ploader的代码, 没有任何完善和优化, 概念代码, 希望对你有帮助.
http://www.heshould.com/codestore.zip
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值