大家好,今天来为大家解答django网站源码分享这个问题的一些问题点,包括网站也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
作者:HelloGitHub-追梦人物
我们已经成功地开发了一个功能比较完备的个人博客,是时候来总结一下我们的工作了。博客系列完整的源代码地址:
https://github.com/HelloGitHub-Team/HelloDjango-blog-tutorial
在教程的前两篇,我们介绍了如何搭建django开发环境,如何创建django项目以及django应用,这是我们进行django项目开发的基础。第3、4篇:讲了djangoORM的基础操作。ORM是django核心中的核心,不仅django自带的应用底层全都依赖于ORM,大部分使用django构建的应用基本也离不开djangoORM的操作,所以能否熟练掌握django的ORMAPI决定了能否写出高质量、高性能的django应用。第5、6篇:讲解了django基本的视图函数,视图函数的作用是接收一个HTTP请求,根据这个请求的意图返回相应的HTTP响应。在这个请求处理的过程中,通常都会涉及到使用ORM进行数据库的增删改查操作。第7篇:介绍了django的杀手锏应用,开箱即用的Admin管理台。我们可以通过这个管理台直接对数据库中的数据进行增删改查操作。第9、10篇:介绍了Markdown的使用,对于博客、技术论坛之类的应用,使用Markdown来撰写内容是一个常见的需求。第12、13篇:介绍了如何自定义模板标签并使用它们。模板标签用于django的模板系统中,用来生成HTML页面。django的模板系统自带了大量的模板标签。但如果自带的标签不满足需求,我们就可以拓展django模板系统的API来自定义模板标签。第14篇:我们利用上述学习到的知识开发了一个独立的django评论应用。这里面我们还初步接触了表单的使用。django的表单是对HTML表单的封装,它在后台完成数据校验、清理等功能,并对非法的表单输入返回给客户端友好的错误提示。第16、17、18、19:向大家介绍了运维方面的知识,包括如何在服务器上部署django应用,如何编写自动化脚本来全自动部署,如何给网站开启HTTPS以提高安全性。特别是使用Docker进行部署后,我们把整个django部署的过程缩减到只需线上执行几条命令就能完成,Docker帮助我们极大简化了部署流程。第21篇:我们介绍了基于类的视图和通用类视图。之前说了,django的视图本质上是一个函数,它接收一个HTTP请求,返回一个HTTP响应。类视图虽然是一个类,但这只是针对开发者而言,django通过Python魔法将类转化为一个可被调用的函数。使用类的好处是,它允许被继承,因此在某些情况下可以提高代码的复用性。第22篇:演示了如何在Python脚本里面独立地使用django的ORM。一般要使用django的ORM必须启动整个django项目,而如果要在独立的脚本中使用的话,就必须进行一些额外的设置。第23篇:我们介绍了如何使用django第三方库,django的强大不仅在于它自身功能的完备程度,更在于其繁荣的社区。大量开发者在开源平台发布了很多优质的django拓展应用,涵盖了web开发的方方面面。这里我们只介绍了一个分页应用,更多应用大家可以在GitHub通过搜索关键词django进行探索。第27、28篇:我们介绍了搜索功能的实现。一开始使用的是比较简单的搜索方式,利用之前所学的django知识就能完成。不过为了更好的搜索体验,我们进一步引入了elasticsearch这个专业的搜索服务来提供搜索功能,同时使用了一个django第三方库django-haystack来将elasticsearch和django无缝对接。同时可以看到,有了Docker容器技术,引入一个外部服务变得非常简单。第29、30、31篇:我们对博客补充了完善的单元测试,测试过程中我们发现了一些隐藏的bug并进行了修复,由此测试的重要性可见一斑。此外,为了衡量测试的质量,我们使用coverage.py对代码测试覆盖率进行了统计,越高的测试覆盖率说明测试越充分,程序出现bug的几率也就越小。
现在,我们已经有了一个功能比较完备的个人博客应用。而且,在测试的保障护航下,我们可以在不破坏现用功能的情况下,轻松加入新的功能。
教程进行到这里,HelloDjango博客教程就要准备告一段落了,大部分web开发中的需求,你都可以通过教程中讲到的知识点,结合django的官方文档来实现。
不过,真的要结束了吗?我的回答是没有也不想结束!
Django中还有很多值得介绍的地方,就拿博客来说,我们还可以做这些很酷的功能:
支持用户登录,甚至使用GitHub、新浪微博等第三方应用登录支持多级评论国际化使用缓存进行性能优化支持邮件订阅,有新的博客就发送邮件提醒订阅者
等等,这些对于其他Web系统来说,基本也都是必不可少的。
所以,HelloDjango博客项目会继续以这样的形式继续下去:
围绕着某一个功能进行开发,功能开发完成之后附带输出一篇详细介绍功能实现原理和过程的教程。我希望HelloDjango博客项目不仅仅是一个教学演示项目,也不仅仅是一个高质量、功能完备的django第三方博客应用,而是两者都是!
号外
此外,虽然HelloDjango博客项目教程定期更新已经结束,但接下来我会开始以定期更新的方式向大家介绍如何django-restframework+Vue或者React这种更加现代化的前后端分离开发方式,大量公司都采用这种开发方式,如果你以找工作为目的而学习django的话,怎么能不学习这种开发模式呢?
HelloDjango-blogs的教程暂时告一段落,全新的HelloDjango-django-restframework系列教程就要要重新扬帆起航了,大家敬请期待!
『讲解开源项目系列』——让对开源项目感兴趣的人不再畏惧、让开源项目的发起者不再孤单。跟着我们的文章,你会发现编程的乐趣、使用和发现参与开源项目如此简单。欢迎联系我、加入我们,让更多人爱上开源、贡献开源~
OK,本文到此结束,希望对大家有所帮助。