给Python初学者:如何用Django写一个36Kr
Posted Python开发者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给Python初学者:如何用Django写一个36Kr相关的知识,希望对你有一定的参考价值。
首先需要说明一下,这篇教程是写给初学者的,这里不会有高深的概念、大段难懂的代码,这篇教程的目标是让你
读懂每一句话,明白关键步骤背后的核心原理。
接下来,我会带着你理解 Django 最核心的 MTV 原理,并且用「36Kr」这个实战案例来帮助你理解,带着你走一遍实现这个项目的关键步骤。
如果你已经把 Django 玩的非常6了,那么这篇教程不适合你。如果你还是一个困惑的初学者,看 Django 文档看的头痛,来吧,我们开始。
我们在浏览器里输入36Kr的网址,然后看到网页呈现出来,这短短的几秒钟就已经把 MTV 的流程运作完毕。那么究竟是怎么运作的呢?
每个网站都是有数据库的,
Django的 Model 层就像是数据库的代理人,我们用 Model 来操作数据库的增删改查,这样就不用单独操作数据库了。
对于36K来说,数据库里面最主要的是文章信息,我们通过 Model 这个数据库代理人来操作文章数据。
模板层负责把 Model层取出来的数据填充进网页,变成我们看到的成型的网页。这个过程我们称之为渲染。
对于36K来说,Model 层渲染的过程就是把文章数据变成可以浏览的、排版优雅的网页的过程。
View 层负责的是把渲染好的网页返回给使用者,让我们在浏览器里面可以看见。
对于36K来说,View 层就是把网页返回给我们,让我们在浏览器里面能看到。
我们访问 url 的时候,
url 会对应的找到处理这个流程的 view。
对于36Kr来说,我们访问 http://36kr.com/ 这个网址的时候,就会对应的找到首页的 view.
手写 CSS 是一件很麻烦的事情,在这里推荐你使用一个 CSS 框架:Semantic UI,
这个框架比起 Bootstrap 来,使用起来更加语义化,更容易上手,也更好看。
打开 Semantic UI 的文档,我们就会发现许多和 36kr 里类似的组件,把这些组件整合拼装起来,就可以做出一个页面。
具体怎样用 html 和 Semantic UI 写出这样一个网页模板,并不是这篇文章的重点,这篇文章还是着重讲 Django 的实现思路。
如果你对 Semantic UI 有兴趣,可以看我们这个免费视频教程的第1、2节课:
只需要花上30分钟跟着我们的课程学习,你就能写出这样一个页面了,接下来我们需要把这个页面转换成模板 Template。那我们先继续往下来。
创建一个 Django 项目,需要做一系列的步骤,我们总结了一下,是这样7个步骤:
可能你会觉得有点麻烦,但这里面并没有什么难理解的地方,只需要跟着一步步做就行了。
考虑到你现在正在用手机阅读,也没办法拿着电脑跟着一步步操作,这里只是简单的列出来核心的步骤。如果你想要亲手实践一次,
还是建议你看上面那个免费视频教程的第2章第1课,视频里面能更详细的介绍每一步的具体操作,花上15分钟你就能跟着做好。
我们之前写出来的页面是静态的,内容都是写死在页面上的。但是36K这样的资讯网站,每天要发布很多新文章信息,这些文章需要从数据库中取,这就需要用到模板变量。
什么是模板变量呢?
它有点像是一个占位符,我们先给那些会变化的数据预留出来位置,Django 就会帮我们填好相应的内容。
所以我们需要把每一处会变化的数据,都用模板变量的方式来替换,写法都是类似这样:{{ Title }}
OK,读到这里,你就已经掌握了「如何用 Django 写一个36K」的最关键知识了。希望通过这篇文章,
让你了解到创建一个 Django 项目的关键步骤,并且理解最主要的运作模式,而不是被一大堆的代码和细节搞晕。
文章的篇幅有限,很多细节没能在这展开说,如果你有兴趣学会从头到尾做出来一个 Django 项目,可以去上面提到的免费视频教程跟着一步步学习。
除了小视频外,对Python有兴趣的同学还可以关注下周的一场免费直播课。在直播课中,侯爵老师将与大家深度交流python学习的相关经验。
麻瓜编程创始人,《编程小白的第一本 Python 入门书》作者,在图灵电子书社区有近20000名读者。
如果想要第一时间获得以上免费直播课程的收听地址,欢迎大家扫码加入Python全栈实践交流QQ群。进群暗号:
python 开发者
此外,这篇文章的内容全都节选自网易云课堂的Python 全栈微专业。我们希望通过这门好看的课程,把最关键的知识真正讲明白,让零基础的初学者踏实又高效的学习。
与其说是一门课程,不如说是一个培养计划。因为参加之后,你可以随着课程的进展,循序渐进的完成两个可以直接上线的商业网站和内容管理后台。并且能获得业界工程师手把手辅导答疑,让你不被卡住。
点击
阅读原文,就可以查看详细课程介绍,10月14日截止报名,这是今年的最后一期。
↓↓↓
以上是关于给Python初学者:如何用Django写一个36Kr的主要内容,如果未能解决你的问题,请参考以下文章
简明教程:如何用 Django 写一个编程派?
再见HTML !如何用Python写一个漂亮的网页?
如何用Python编写一个素数环?
怎么用python架设一个网站
如何用python脚本过滤到达服务器某个站点的HTTP请求?
如何用python实现两个文件重复数据筛选并统计