为Django Web应用程序选择正确的数据库系统

Rap*_*ael 1 python database django

我目前正处于构建简单的Django Web应用程序(用于学习建议)的计划阶段.基本上,教师可以登录,输入学生成绩,然后学生可以登录并查看他们的成绩.每个班级都有一个组号.

这是用户的模板:

Username: Johny098
Password: Y98uj*?877!(
Name: John Doe
Gender: Male
Group: 32
Secondary: 5
Run Code Online (Sandbox Code Playgroud)

考虑到我一般从django和web开发开始,我发现混淆了我可用的数据库系统的数量:MySQL,CouchDB,MongoDB,SQLite等.我很难决定哪个数据库系统用于我的目的(我没有数据库的经验).

经过一些研究后,我发现Couchdb(和SQLite)看起来相当简单,使用起来很有趣,但那只是我,这就是我需要帮助的原因.我知道有很多关于SQL vs NoSQL的争论,但我真的不知道这是否会对我使用数据库产生影响.理想情况下,数据库系统应该与django很好地集成,并且很容易在几天内完成.

所以,回到这个问题:我应该为我的网络应用程序使用什么数据库系统?

任何资源也将受到赞赏.

谢谢,

-Raphael

小智 5

出于学习目的,我建议使用SQLite:没有设置,没有运行后台守护程序,所有内容都与Python捆绑在一起,它是SQL(所以它与Django ORM很好地映射),而且它是一个非常简单的DBMS.实际上,有些人使用SQLite进行原型设计,然后在生产中切换到MySQL/PostgreSQL.

至于NoSQL,除非你确切知道为什么以及你需要它的目的,否则我不建议使用它.

哦,最后一件事:存储密码哈希值(md5或sha1),而不是原始密码.在您的情况下,这不是必需的,但在现实世界的应用程序中,它是强制性的.