昨天发现一个好玩的小程序给赞问问,收到几个具有代表性的问题,在这里和大家分享一个。
军哥,最近在学Django,也有在做小密圈的Django项目,但是怎么说呢?看大部分都能懂,但是要自己着手个项目,就无从下手
这个问题就跟「道理都懂,却依然过不好一生」如出一辙。
学编程跟游泳很像,都是手艺活,重在实操。
第一步:学习基本理论知识
第二步:看别人怎么游,前两步相对简单,只要听,只要看
第三步:自己下水,这个步骤很痛苦,你要在水里面不断挣扎、拍打、被水呛、喝无数口水,甚至耳朵、鼻子、眼睛都进过水,过程很艰难,但坚持下来结果很美好。学编程也一样。
从不会到会需要一个过程,不断尝试、不断实践、不断练习,如果你问我有捷径没有,真没有,但是有方法。
正确的方法是要善于分解问题,把大问题化小,小问题化了。学过算法的都知道,有一种二分查找,就是不断地缩小问题的求解,要从一堆大数据里面查找最小值,先把这堆数据分成两份,再从包含最小值的一份中又拆分成两份,最终化解到从3个值里面查找。
同样的道理,拿咱们在知识星球的实战项目来说,一个完整的论坛包含很多功能,那我们可以把问题一个个拆分,化解成n个小功能,比如核心功能是发帖。
发帖的话,首先我们要设计领域模型,一个帖子包含有哪些东西呢?你就要去思考分析,它可能有标题,有内容,还有发布时间,我们就只考虑这三个东西。
确定了模型时候,你就可以设计 models 了,再使用 Django 的数据迁移功能将数据库表创建好,然后就要写视图 view 函数,在视图函数中的任务就是接受浏览器提交的表单数据,然后保存,所以你还需要定义一个包含有标题、内容的 form 表单,表单设计好之后,你就要开始写模板页面了,模板很简单,只需要包含有标题和内容字段的form表单就行,最后就是设计URL路由规则,访问哪个URL可以访问到该模板页面。一整套逻辑就出来了。
剩下的只是细节问题,问题越清晰就越能得到答案,最痛苦的是你自己都不知道你遇到的是什么问题,当然别人也无从帮助你。
说了这么多,关键点在于先把问题确定,然后再细化问题,逐步解决每一个小问题,各个击破。至于先解决什么就解决什么,没有严格的先后顺序,根据自己的思路决定。
还补充一个事情,上次的赠书活动,恭喜以下朋友:
- uranuday
- M-in
- 石头
- Halo(凯朋)
- 海铭威
- 若 然。
- 吕坤
- 小虎牙
- 说好的节操呢
- zhangzihao
请以上朋友本周内将联系方式发给我,没发的就把机会就让给后面的人啦。
关注公众号「Python之禅」,回复「1024」免费获取Python资源