最终用户可通过网页配置python脚本

时间:2013-08-02 19:20:07

标签: python webpage end-user

我编写了一个python函数,可以从我们的Oracle数据库中提取每日财务数据,并通过电子邮件每天早上向一组电子邮件地址发送一份精彩的报告。

要为每个用户配置这些报告,我有一个简单的脚本来设置它,我每天都将该脚本作为一个cron作业运行。

此脚本上的一行是: budgets.sendit( 'abc02', '用户@ email.com',0,0,0,0)

这一行运行“user”所需的所有内容,以获取有关项目acb02的电子邮件。大约有100条这样的线,并且每天都在增长。

我是自己成功的牺牲品。我收到来自数十人的不断要求来管理这个脚本。让他们建立自己的VM / Python实例也不会有用。

我的目标: 用户可以对我们的LPAD服务器进行身份验证的网页,并配置自己的报告以使用我的Python函数运行。

我的问题: 你推荐什么作为基本架构来设置这样的东西?即使创建一个Web表单来为我的脚本添加行也是一个开始,但这似乎有风险。

完全披露:我是一名自学成才的python开发人员,他将信号处理作为我的主要工作,因此我将有一个学习曲线,但如果有人指出我正确的方向,我通常可以完成它。

2 个答案:

答案 0 :(得分:1)

我的建议是使用像Django(https://www.djangoproject.com/)或Pylons(http://www.pylonsproject.org/)这样的框架。减少设置时间并为您完成所有样板设置的东西。 Django广泛支持与LDAP(http://pythonhosted.org/django-auth-ldap/)等其他服务的集成。借助内置的用户管理,管理视图,基于模型的表单构建,Django听起来就像它涵盖了您正在寻找的内容。

有许多资源可以自学Django,例如The Django Book(http://www.djangobook.com/en/2.0/index.html)和Django项目文档(https://docs.djangoproject.com/en/1.5/)。你听起来很擅长教自己,所以这些资源应该绰绰有余。它们是我用来开始与你的项目非常相似的资源。尽管如此,请不要尝试在学习的同时构建应用程序。只需按照教程构建他们想要构建的内容即可。了解模式和架构。然后将模式应用于您自己的应用程序。在翻译文档和教程时尝试构建应用程序可能会变得混乱,最终成为障碍。祝你好运!

答案 1 :(得分:1)

关于如何实现这一点你可能会得到很多不同的意见 - 但这是一种可能的方式。

  1. 使用文本文件,SQLite数据库等来管理电子邮件地址列表和“选项” - 如果人们希望管理他们的偏好(即取消订阅工作电子邮件,修改他们的偏好),SQLite可能会更好等等。)

  2. 考虑使用框架(如Django)来实现Web界面。它的ORM使得与数据库的连接变得相当容易,而且它还需要大量的开发工作。

  3. 允许通过您配置为仅允许通过LDAP进行身份验证的人员登录的Web服务器(即apache等)进行身份验证。这需要大部分LDAP身份验证工作,并将其粘贴在Web服务器上。您的网络应用可以通过环境变量访问该信息。

  4. 最后,更改现有脚本以从您创建的数据库/文件中进行绘制以存储这些首选项...

    看的地方:

    https://www.djangoproject.com/< - Django Project

    http://docs.python.org/2/library/sqlite3.html< - 通过python访问SQLITE

    http://httpd.apache.org/docs/2.2/mod/mod_ldap.html< - 带有apache的Mod_ldap(使用apache的apache