Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python脚本驱动的Django和外部sqlite数据库_Python_Django_Sqlite - Fatal编程技术网

python脚本驱动的Django和外部sqlite数据库

python脚本驱动的Django和外部sqlite数据库,python,django,sqlite,Python,Django,Sqlite,我刚刚开始学习Django并完成教程,如果这是非常明显的,那么很抱歉 我已经有了一组Python脚本,其最终结果是不断更新的SQLite3DB;Django是将这个sqlite db转换为网站的漂亮HTML表的正确工具吗 我可以看到Django正在使用sqlite db来管理其应用程序中的组/用户和数据(如教程中的polls应用程序),但我还不确定我的外部sqlite db(由我的其他脚本驱动)在什么地方适合这个宏伟的计划 我是否必须修改我的外部python脚本以写入Django db中的表(至

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

我已经有了一组Python脚本,其最终结果是不断更新的SQLite3DB;Django是将这个sqlite db转换为网站的漂亮HTML表的正确工具吗

我可以看到Django正在使用sqlite db来管理其应用程序中的组/用户和数据(如教程中的polls应用程序),但我还不确定我的外部sqlite db(由我的其他脚本驱动)在什么地方适合这个宏伟的计划

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

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

1) 我是否需要基于我的db创建Django模型,然后访问一个且唯一的Django“project db”,并将外部脚本写入其中

2) 或者Django可以以某种方式利用另一个脚本驱动的单独db吗


3) 最后,在我花费数周的阅读时间之前,Django是否是完成这项任务的合适工具…

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

Django core本身不需要数据库。您可以在没有数据库的情况下设置基于django的站点。然而,像身份验证模块这样的许多模块确实需要数据库设置

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


您可以创建非托管模型,以允许django的许多部分了解您现有的数据库,并在现有数据库中利用django更高级的功能。请参见

如果您关心如何控制以HTML呈现数据并将其提供给其他人的每一个方面,那么Django无疑是解决您的问题的好工具

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

所以,总结一下。如果您计划在将来进行更多的开发,那么使用Django。如果您只关心一次性创建这些HTML页面,那么就不要这样做


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

您只是想为SQLite DB中的数据获取一个HTML视图?如果是这样的话,您可能只需要使用
sqlite
命令打开数据库,然后执行
模式html
,然后执行
.dump
。然后,您可以继续修改样式等。如果您认为将来需要做更多的工作(如果有疑问,您可能会),那么使用Django可能是合适的。您好@fpghost,您最终做了什么?我有一个类似的情况(我想制作一个网页,基本上在我的脚本创建的数据库中显示数据),不知道我是否应该为我目前的工作而使用djangoproject@user929404最后我确实使用了Django,我不后悔。我使用数据库路由器设置外部脚本驱动的数据库,以及包含auth数据等内容的Django数据库。我还使用了Django-tables2应用程序,它提供了一种显示数据的简单方法。我考虑过的另一个选择是烧瓶,它可以用较少的学习曲线做你想做的事情,不确定。谢谢。听起来Django是个好主意。我仍然在为最好的做法的一般概念而挣扎。我是否应该创建一个表示我的数据库(包含所有req字段等)的模型syndb,然后告诉我的旧python脚本开始将它们的数据写入新Django项目数据库中的表中。或者我应该在settings.py中将预先存在的数据库添加到DATABASES dictionary中,然后以某种方式将我的Django模型链接到它?换句话说,我应该有一个单一的数据库设置,其中一个数据库包含管理内容和外部数据库表,还是应该使用多数据库设置,一个数据库用于管理,另一个数据库用于外部python应用程序?写入数据库的最佳方式是只使用Django模型。因此,您可以将现有脚本编写为Django管理命令,并将HTML逻辑呈现为Django视图。关于使用当前表,如果您编写了一个描述现有表的模型,那么就可以直接开始使用它,而不需要syncdb。因为syncdb只在架构不存在时创建架构。