为我的第一个MySQL项目制定计划
我需要在几天内完成一个问答网站的计划。我需要在下周二之前准备好代码的第一个版本,而整个项目将在大约三周后结束。
关于这个项目的一些问题,这里不太适合讨论
- 如何制作高效的表格
- 如何改善数据库的关系图
- 如何改善ERD图
- 如何用Python在MySQL数据库中对密码进行SHA1哈希
- 如何为问题建立修订历史
- 如何正确设计数据库
- 如何在ERD中正确设置主键和外键
- 如何理解关于登录变量的内容
- 如何了解我学校的服务器是否能运行Python网络应用
- 如何改进PostgreSQL中的SQL查询
- 如何正确编写DDL中的SQL查询
- 如何防止在问题中使用重复标签
- 如何改进DDL中的SQL查询
- 如何确保表中没有重复标签
- 如何在数据库中分开答案
我学校提供的工具支持很少,这些是我选择的工具:
后端开发工具
- Python 用于构建数据库结构??? (我不确定哪些部分可以用Python来构建)
- MySQL 用于存储数据
- 我不确定用什么工具来构建登录和登出系统。他们不允许我使用Google的系统。这迫使我使用一些简单的开源代码,因为构建一个体面的登录/登出系统需要超过一周的时间。
前端开发工具
- Django (如果我们可以在Django中使用MySQL)
规划工具
- Google Docs的电子表格 用于展示用例
- TopCoder UML工具 用于展示数据库中的主键和其他关系
编码工具
- Vim, Screen, Zsh, OS X的Visor: 我的dot-files
- EasyEclipse for Python (只有在我遇到困难的错误信息时才会使用)
我在项目中的重点:我打算构建一个仅供用户和管理员使用的数据库系统,提供以下功能
- 允许用户向数据库添加内容,并对输入进行中和处理 (我知道有一些工具可以做到这一点,但我不确定它的名字。)
- 按时间排列问题
- 按名称排列问题
- 按主题排列问题
- 允许用户删除他们的问题
- 向用户发送电子邮件,通知他们问题已成功提交
我不确定的事情
- 如何将登录系统与数据库集成,使用户在成功登录后只看到自己的数据,比如用户名,类似于Joomla的方式
- 在使用MySQL作为数据库时,哪些组件不应该用Python构建?
- 我的学校没有为这个项目提供硬件支持。这让我觉得使用一个专门支持我项目的主机会更好。我上个月使用了Djangohosting.ch,通过他们的工具我开始了项目。你会选择哪个主机,以便我可以向学校展示最终产品?
这是我第一个正式的数据库项目,所以我的计划显然有不足之处,因为一定有我不知道的工具。请指出其中任何一个。
9 个回答
2
我觉得这些都可以在Django中实现。你可以看看这个官方教程。
2
使用Django的模型来创建对象关系映射(ORM),这样你就可以方便地存取数据了。
关于登录和登出,Django有一个叫做AuthenticationMiddleware的功能,你可以试试看,虽然我不确定这是否能解决你的问题。
总之,考虑到你项目的截止日期,这个计划完全不现实。做好准备,可能会错过截止日期,听着它们呼啸而过的声音吧。
4
首先,这一切在一周内要处理的内容确实很多。不过,我来试试。
后端工具:
- SQLAlchemy - 这是一个ORM工具包,适合用Python和MySQL数据库处理大部分小任务。根据我的了解,它是做这个工作的最佳选择。http://www.sqlalchemy.org/
- Django - “...是一个高级的Python网页框架...” 如果你想快速开发一个网站,并且需要登录/登出功能,同时对有一定网页/Python基础的人来说学习曲线不陡峭,这可能是个不错的选择。
前端构建工具:
如果你已经打算在后端使用Django,我建议前端也用它。
你不确定的事情:
- 用户可以在MySQL中指定,并且可以相应地设置他们的权限。
- 根据你列出的一些需求,大部分听起来都可以在Django的能力范围内实现。