Python基础 Python面向对象 Python3.X新特性 pyqt编程实战

使用python实现简易blog列表




blog1.png


  基于这一块,我们来想象一下如果要做一个blog,首先要建一个模板


blog2.png


  出于方便,我们把名字修改成“sundy blog”,但是这里就有一个问题就是,这里面有很多二进制,包括了style,这个style又用到了image,那么这个style.css这个样子是不认的,因为在这个软件里面,它对这个配置是非常复杂的,而且它不推荐我们这样配置。


blog3.png


比如说我们找settings下面的“STATIC_URL”有一个这样的配置方式,但是这样直接去用是用不成功的,如果想要成功,需要看到上面的一段文本告诉我们,去学习静态文件的配置。


blog4.png


  它会告诉我们静态文件非常复杂。


blog5.png


  首先需要在static里面去配置一个static,然后要在模板里面通过load staticfiles在来用static这个方式,这样还没完,还需要配置一下“STATICFILES_DIRS”,然后还需要去映射到一个真实的路径,所以这个过程非常复杂,而且它还推荐我们不要用这种方式,它推荐我们用绝对路径,也就是说用公网地址,因为它说这种方式效率是非常的低的,这就是一种相当于是映射的静态文件的访问方式,效率是非常低的,所以只推荐在开发阶段去用,如果在真实的阶段,我们就需要用公网的地址。


AAQYKpiltHkwCbcB9m.png


  这就是公网的方式,然后保存好了之后,我们需要看它是否生效。


blog7.png


  然后,我们在views里面新建一个,看一下公网的方式是否生效。


blog8.png


  保存之后,我们加载发现,我们模板加载已经成功了,值也知道怎么去传了,然后下面我们需要做相应的设计,在做博客设计的时候,UI已经设计完成了,然后基于功能设计我们应该去设计一下数据库和数据库模型。


blog9.png


 我们先设计两个最简单的,定义两张表,一张表叫做Author,比如说它会有一些属性,比如说有name,有age,然后这张表就定义好了。然后另一张表叫做Article,也就是文章,它可能有一个title,还有一个content。但是最主要的是它们之间是一个一对多的关系。所以我们就来画一下一对多的关系。


blog10.png


  所以我们可以按照这样的方式去建好一个数据库的模型。


blog11.png


 输入代码去定义,首先需要定义一个Author,然后在定义一个Article,它们之间是一个主外间关联,那么我就把Author作为Article的外键来处理,然后就输入代码。


blog12.png


  这样,模型定义就完成了,模型定义完成之后,为了能够让它方便的访问在admin里面,需要在后台给它注册一下。


blog13.png


  输入代码注册之后,这块我们就完成了,完成之后我们需要做一个sqlite3跟数据库的同步工作,这个就很简单,我们直接运行跟manage相关的任务就可以了。


blog14.png


  首先生成相应的这个脚本,然后执行这个操作,成为真正的数据库同步。


blog15.png


  这样我们就把数据同步好了,为了我们能够管理,我们还需要建立一个超级管理员。


blog16.png


  用控制台输入代码建立一个超级管理员。然后访问一下后台。


blog17.png


  进入后台可以发现这两张表已经有了, 然后在添加一个作者,保存完成之后,还可以在添加一下文章。


jEYruXsEaIEi4T4XC1.png


LHcxrrbznVYpnUzpQv.png


  添加文章,可以发现我们数据库作者就已经有了,现在我们就可以直接在主页去调动它。


blog20.png


  如图,我们需要来替换四个东西,第一就是标题,第二是时间,第三是作者,第四就是正文。


46TjWZ73LEM5JldbNB.png


  我们应该在views里面做文章,我们需要得到就是那四个东西。


blog22.png


  输入代码,“d = date.today”就得到日期了,然后下面我们需要得到文章的标题,可以用articles,然后我们把这两个给传进去,我就可以在模板里面直接去用它。


SntHArKcZk3H9X8pks.png


  直接搜索“welcome”就可以找到,每一段post就是一段文章,因为后面还有一个post,所以我们就把后面的post删掉,只留一个post,然后要用到它,就需要通过一个for循环。


JxeLKB14cwnvEWVuOt.png


  这样中间的内容就会循环了。


blog25.png


blog26.png


  然后在这里面的代码去替换那四样东西。替换之后保存看一下它的效果。


Dvd8wvtezSqTmzXDYU.png


  可以看到这里已经替换掉了,但是好有一些重合的小问题,所以需要稍微的修改一下,可以把标题改小一点。


blog28.png


  这样改成h3,就可以把标题改小一点。


blog29.png


  就可以一目了然的看到,标题,作者,时间,正文。

然后完成这一块之后,想要从链接中点进去要怎么去做?


  我们可以通过地址传参的方式去做到这一点,至于怎样去地址传参,就在URL里面。


blog30.png


  首先在后面给它加上一个参数,然后用一个正则表达式,“d+”就表示数字+,然后后面就可以给它一个处理,处理一个新的函数叫article,这样我们在views里面去定义的时候,


blog31.png


  所以那个参数就会随着request,或者在后面我们加上一个pid,这样就会把它识别出来。


blog32.png


  这个时候,我们就可以得到pid,我们在去用的时候就可以直接输入代码。然后上面就会出现具体的article,这就是处理的方式。


【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

您有一个双11钜惠红包未领取

客服热线 400-862-8862

回到顶部