我喜欢Django,但是对于特定的应用程序我只想使用它的一部分,但是我对Django在内部的工作方式不太熟悉,所以也许有人可以指出我正确的方向,我有什么查看.
具体来说,我想使用:
模型和数据库抽象
该缓存API,但我想避免通过缓存数据库查询,而不是HTML生成,并且由于在Django的缓存框架适用于后者,我不知道是否还没有这真的合适.
我不会用:
模板
urlconfigs
或者,更确切地说,我既不使用HTTP也不使用HTML.所以基本上,我有一个不同于通常的输入/输出链.
这可以吗?
我在Django中的个人杀手功能是我可以对模型进行的对象/数据库映射,所以如果有另一种技术(不必是Python,我正处于设计阶段,我对语言非常不可知)平台)给了我相同的能力,这也很棒.
我自己使用Django进行对象/ db映射而不使用urlconfigs.只需创建一个名为的文件djangosettings.py
并插入必要的配置,例如:
DATABASE_ENGINE = 'oracle' DATABASE_HOST = 'localhost' DATABASE_NAME = 'ORCL' DATABASE_USER = 'scott' DATABASE_PASSWORD = 'tiger'
然后在常规的Python代码中,做
import os os.environ["DJANGO_SETTINGS_MODULE"] = "djangosettings"
在导入任何Django模块之前.这将允许您使用Django的对象/ db映射而无需实际拥有Django项目,因此您可以将它用于独立脚本或其他Web应用程序或任何您想要的.
至于缓存,如果你不想使用Django那么你应该决定你正在使用什么并从那里开始.我建议使用CherryPy,它不使用Django样式的正则表达式URL映射,而是根据函数名称自动将URL映射到函数.CherryPy主页顶部有一个例子:http://cherrypy.org/
CherryPy有自己的缓存系统,所以你可以完成与Django完全相同的事情,但不需要使用Django的urlconfig系统.
Django作为一个Web框架,在创建网站方面非常高效.但是,它同样非常适合解决网络上的问题.这是项目引以为豪的松散耦合.没有什么能阻止你安装完整版的Django,只是使用你需要的东西.作为一项规则,Django的很少组件对其使用做出了广泛的假设.
特别:
Django模型对HTML或HTTP一无所知.
模板对HTML或HTTP一无所知.
缓存系统可用于存储 任何可以腌制的东西.
尝试在没有Web服务器的情况下使用Django时,您将面临的主要问题之一是正确设置环境.仍需要在settings.py中配置ORM和缓存系统.有没有你可能会觉得有用的设置模块使用django的文档.
我已经创建了一个模板Django项目,可以让你做到这一点.
https://github.com/dancaron/Django-ORM
只需按照说明操作即可编写利用Django数据库功能的独立python文件,而无需使用urlconf,视图等.