如何用Python搭建一个36Kr网站|高手4步带你入门

栏目: Python · 发布时间: 7年前

内容简介:如何用Python搭建一个36Kr网站|高手4步带你入门

如何用 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 搭建一个36Kr网站|高手4步带你入门

阅读本文大概需要3分钟

首先需要说明一下,这篇教程是写给初学者的,这里不会有高深的概念、大段难懂的代码,这篇教程的目标是让你 读懂每一句话,明白关键步骤背后的核心原理。 接下来,我会带着你理解 Django 最核心的 MTV 原理,并且用「36Kr」这个实战案例来帮助你理解,带着你走一遍实现这个项目的关键步骤。 如果你是一个Web的初学者,看Django文档看的头痛,想成为Python Web工程师,来吧,我们开始吧.

第一步

理解 Django 的 MTV 模式

我们在浏览器里输入36Kr的网址,然后看到网页呈现出来,这短短的几秒钟就已经把 MTV 的流程运作完毕。那么究竟是怎么运作的呢?

首先是 Model 层:

如何用Python搭建一个36Kr网站|高手4步带你入门

每个网站都是有数据库的, Django的 Model 层就像是数据库的代理人, 我们用 Model 来操作数据库的增删改查,这样就不用单独操作数据库了。

对于36K来说,数据库里面最主要的是文章信息,我们通过 Model 这个数据库代理人来操作文章数据。

然后是 Template 层:

每个网站都是有数据库的, Django的 Model 层就像是数据库的代理人, 我们用 Model 来操作数据库的增删改查,这样就不用单独操作数据库了。

对于36K来说,数据库里面最主要的是文章信息,我们通过 Model 这个数据库代理人来操作文章数据。

然后是 Template 层:

如何用Python搭建一个36Kr网站|高手4步带你入门

模板层负责把 Model层取出来的数据填充进网页 ,变成我们看到的成型的网页。这个过程我们称之为渲染。 

对于36K来说,Model 层渲染的过程就是把文章数据变成可以浏览的、排版优雅的网页的过程。

然后是 View 层:

如何用Python搭建一个36Kr网站|高手4步带你入门

View 层负责的是把渲染好的网页返回给使用者 ,让我们在浏览器里面可以看见。

对于36K来说,View 层就是把网页返回给我们,让我们在浏览器里面能看到。

还有个 Url 是 View 的小弟:

如何用Python搭建一个36Kr网站|高手4步带你入门

我们访问 url 的时候, url 会对应的找到处理这个流程的 view。

对于36Kr来说,我们访问 http://36kr.com/ 这个网址的时候,就会对应的找到首页的 view.

第二步

用 Semantic UI 写一个页面

手写 CSS 是一件很麻烦的事情,在这里推荐你使用一个 CSS 框架:Semantic UI, 这个框架比起 Bootstrap 来,使用起来更加语义化,更容易上手,也更好看。

打开 Semantic UI 的文档,我们就会发现许多和 36kr 里类似的组件,把这些组件整合拼装起来,就可以做出一个页面。

如何用Python搭建一个36Kr网站|高手4步带你入门

如何用Python搭建一个36Kr网站|高手4步带你入门

如何用Python搭建一个36Kr网站|高手4步带你入门

具体怎样用 html 和 Semantic UI 写出这样一个网页模板,并不是这篇文章的重点,这篇文章还是着重讲 Django 的实现思路。

只需要花上30分钟跟着我们的课程学习,你就能写出这样一个页面了,接下来我们需要把这个页面转换成模板 Template。那我们先继续往下来。

第三步

Django 的准备工作

创建一个 Django 项目,需要做一系列的步骤,我们总结了一下,是这样7个步骤:

可能你会觉得有点麻烦,但这里面并没有什么难理解的地方,只需要跟着一步步做就行了。

考虑到你现在正在用手机阅读,也没办法拿着电脑跟着一步步操作,这里只是简单的列出来核心的步骤。

第四步

用模板语言实现首页文章动态

我们之前写出来的页面是静态的,内容都是写死在页面上的。但是36K这样的资讯网站,每天要发布很多新文章信息,这些文章需要从数据库中取,这就需要用到模板变量。

什么是模板变量呢? 它有点像是一个占位符,我们先给那些会变化的数据预留出来位置,Django 就会帮我们填好相应的内容。

如何用Python搭建一个36Kr网站|高手4步带你入门

所以我们需要把每一处会变化的数据,都用模板变量的方式来替换,写法都是类似这样:{{ Title }}

Title 需要替换成你想替换掉的数据。

OK,读到这里,你就已经掌握了「如何用 Django 写一个36K」的最关键知识了。希望通过这篇文章, 让你了解到创建一个 Django 项目的关键步骤,并且理解最主要的运作模式,而不是被一大堆的代码和细节搞晕。

文章的篇幅有限,很多细节没能在这展开说,如果你有兴趣学会从头到尾做出来一个 Django 项目,可以去找到一些线上教程跟着一步步学习。

如何用Python搭建一个36Kr网站|高手4步带你入门 如何用Python搭建一个36Kr网站|高手4步带你入门 如何用Python搭建一个36Kr网站|高手4步带你入门

本文由菜鸟学Python 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

智慧社会

智慧社会

阿莱克斯·彭特兰 (Alex Pentland) / 汪小帆、汪容 / 浙江人民出版社 / 2015-4 / CNY 56.90

●如果要在大数据领域推举出一个代表性的科学家,阿莱克斯·彭特兰是一个无法令人忽略的名字。经过数年极具开创性的研究,社会物理学这个全新科学领域的根基已足够深厚。社会物理学是关于想法流的科学,正是在想法流的帮助下,我们才得以提高集体智能,促进智慧社会的形成。 ● 通过研究数以百万计的人在智能手机、GPS设备、互联网等地方留下的“数字面包屑”,大数据的应用已成为一股无法被忽视的力量。在大数据的应用......一起来看看 《智慧社会》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具