Django和外部sqlite db由python脚本驱动

时间:2014-02-13 22:48:47

标签: python django sqlite

我刚开始学习Django并完成教程,很抱歉,如果这非常明显的话。

我已经有了一组Python脚本,其最终结果是一个不断更新的sqlite3数据库; Django是一个正确的工具,可以将这个sqlite数据库变成一个像网站漂亮的HTML表格吗?

我可以看到Django正在使用sqlite数据库管理其应用程序中的组/用户和数据(如教程中的民意调查应用程序),但我还不确定我的外部sqlite数据库在哪里,由我的其他人驱动脚本,适合宏观的计划?

我是否必须修改我的外部python脚本以写入Django数据库中的表(至少在教程中的Django项目目录中为db.sqlite3),然后根据我的数据库结构创建一个Django模型字段?

基本上,我认为我的问题归结为:

1)我是否需要根据我的数据库创建Django模型,然后访问唯一的 Django“项目数据库”,并让我的外部脚本写入其中。

2)或者Django能否以某种方式利用另一个脚本驱动的单独数据库?

3)最后,在我投入数周的阅读之前,Django是这项任务的合适工具......

2 个答案:

答案 0 :(得分:1)

如果你关心如何控制你想用HTML呈现数据的每一个方面并将其提供给其他人,那么肯定Django是解决问题的好工具。

Django的ORM模型使您可以更轻松地读取和写入数据库,并且它们与数据库无关。这意味着您将来可以在不同的数据库(如MySQL)中重用相同的代码。

所以,把它包起来。如果您计划将来进行更多开发,请使用Django。如果您只关心一劳永逸地创建这些HTML页面,那么请不要这样做。

PS:使用Django,您可以轻松地将这些脚本集成到Django项目中作为管理命令,使用 cronjobs 运行它们,并将您开发的所有内容与统一数据集成在一起访问层。

答案 1 :(得分:0)

Django可以使用不同的数据库,sqlite是最容易设置的,因为python标准库带有sqlite所需的一切,而你通常需要单独的软件来设置其他数据库。这就是它在教程中使用的原因。

Django核心本身不需要数据库。您可以在没有数据库的情况下设置基于django的站点。但是,许多模块(如身份验证模块)确实需要数据库设置。

您不必编写模型,可以直接在django中创建与DBAPI或其他数据库驱动程序的连接。当然,这意味着与ORM集成的框架部分不会意识到您自己创建的数据库连接,如Form类,通用视图或自动管理视图,因此您将缺少这些这些功能使Django成为非常强大的框架。

您可以创建非托管模型,以允许django的许多部分了解您现有的数据库,并在现有数据库中使用Django的更高级功能。见https://docs.djangoproject.com/en/dev/howto/legacy-databases/