什么是好的Django工作流程?
我刚开始学习Python和Django。
在开始一个新项目之前,你通常会先做些什么,然后再开始写代码呢?
比如,可以按照以下步骤进行:
- 先配置settings.py文件
- 配置models.py,来设计数据结构
- 创建模板文件
- 定义视图/页面
- 同步数据库
- 等等
所以我想问的是,做一个Django应用时,有什么好的工作流程可以帮助完成这些必要的步骤?这也可以作为一个待办事项清单。在Django的权威指南中,作者提到过从上到下或从下到上的方法。有没有人能进一步解释一下这个,并分享一下他们的过程?
谢谢。
6 个回答
我个人在没有写出视图之前是无法制作模板的(除非是做个Photoshop草图),但一般来说,我会在有了计划之后再开始。
对我来说,最重要的是不要一头扎进代码里,而是花时间根据用户会看到的“屏幕”或“页面”来设计模型结构。
一旦我定义了用户体验,我会确保后台足够强大,能够支持这种体验。如果我没有想清楚用户的体验,很多细节可能会被遗漏,这些在代码里是可以实现的,但对于网站、默认的Django管理界面等来说并不理想。
在敏捷开发和详细规格之间总是有权衡:我觉得找到一个重要的平衡点很关键。敏捷开发是好的:在写第一行代码之前,没必要把每个细节都计划好,因为到最后你的需求可能会变化。你不知道用户会如何真正使用这个网站。
另一方面,如果没有计划,你可能会得到一个混乱的基础,这会影响到未来的所有代码。
一个有根据的猜测是个不错的开始。不要想得太多或假设太多,但一定要对用户在第一阶段如何与网站互动有个清晰的想法。
一个Django应用需要哪些步骤?
其实只需要两个必要的步骤。
第一步是写设置,第二步是写urls.py。
其他的步骤都是可选的。
这也可以当作一个待办事项清单。
这样做不太好。你不需要一个Django功能的清单,而是需要一系列的使用案例或用户故事,这些是你必须实现的。
不知道为什么,你漏掉了Django两个最重要和最有价值的功能。一个是配置默认的管理界面,另一个是编写单元测试。默认的管理界面非常有用,而单元测试则是绝对重要的。
你可以这样做:
收集使用案例。
对使用案例进行优先级排序。
定义参与者。参与者的类别会成为安全模型中的组。
定义足够的“应用”,以满足第一次发布的使用案例。定义URL结构。好用的URL是不会改变的。
构建第一个使用案例:模型(包括安全),管理,URL,测试,表单,视图和模板。注意这些是文件名(models.py, admin.py等),模板除外。还要注意,表单和管理应该在不同的模块中定义,尽管这不是强制的。模板会分为一个通用的模板目录和特定于应用的模板。
构建第二个使用案例:模型(包括安全),管理,URL,测试,表单,视图和模板。
...
最后,打包发布。调整设置,配置数据库和mod-wsgi。