菜单

最新资讯Django实际站点项目支付经验谈

2019年2月6日 - 最新资讯

开发了四个月的Django站点正式上线了,望着网站从无到有,之前端到后台,从本土开发到条件陈设,一点一滴的堆砌成型,着实带给本人不小的野趣。

Django站点介绍:

开发环境:阿里云服务器centos6.5  + Nginx1.7 

版本: Django1.8 + Python3.4

这是一个集合订阅内容&个人博客的Django项目。

目前项目集成:

| - 1.订阅功能:自动订阅虎嗅、人人都是产品经理、果壳网等60多个IT资讯网站内容,每4小时自动更新推送至网站首页。

| - 2.个人博客:个人博客功能,包含博客分类、推荐博客、阅读排行榜、热门标签板块。

| - 3.评论功能:使用多说评论。

最新资讯 1

最新资讯 2

站点链接:http://www.landsblog.com

就是经验谈,其实也只是支付后的一点小小的总计,即是为了不让自己继续犯同样的不当,也是为着能给一起上学的伴儿提供多少参考,下边就自我付出中相见的有的标题做一个统计:

1.家喻户晓站点大旨

这些也许是最简易,也可能是最不难被大家所忽视的难点。

最新资讯,当自身在刚刚制作Django网站的时候,只是单纯的打算做一个博客样式的网站:简单的博客列表,博客详情内容,时间归档,内容分类等等。代码写到一半,愈发觉得那样不难的博客没什么太大意思,毕竟一个月100多的服务器费用,索性开发一些实用的效益。

小编习惯一早起来浏览最新的音讯,干扰的是每个APP都要浏览五次,挑挑拣拣,那样开支不少时辰。因而作者希望得以在协调的网站中活动订阅最新的情报,以及新型的技巧。基于那点,小编又重新开发了订阅功效,到近年来截止,已经能够订阅60家传媒的流行音讯,并且每四钟头自动更新。

但是因为博客内容和订阅内容使用的是同等的框架,为了同步两者的两样,修修改改,到终极实际不可能,以至于所有代码推到重来。

这件事给自家的教训是:最好在网站的开发阶段就拟定好网站的大旨,越发是网站的功用,不然为了差距功效之间的嵌合,将会花越来越多的时间去修改

2.先行规划数据库

规定了Django站点的主旨,接下去的步调就是安排数据库,那点要器重强调:数据库的规划要合理,无法想当然的统筹,最好可以以表格的样式突显出来,防止未来遗忘,也防止内容的再一次。

那儿在规划数据库的时候想着周全一些,就把能想到的情节一股脑的增加上去,比如好评次数、推荐次数、分享次数,光是这一项就有过多意义重新的地点:分享就象征着推荐,也就象征着好评。那样麻烦的数据库字段我到最终也远非用上,白白浪费了数据库空间,也使得数据库内容臃肿不堪。最终仍旧忍痛重新写了models。

那件事给我的训诫是:不要小看数据库的统筹,合理的统筹可以大大减小开发周期,避免不需求的字段占据数据库的上空

3.为文章设计合理的slug

日常在做客小说的时候,我们不会用带有普通话字符的标题作为靶子的主键,而是单独设计一个slug字段用于内容的拜访,当文章少的时候仍可以人工的编制slug,但当每一天自动生成90+的稿子数,单凭一个人为每篇文章设计与作品标题相关的slug,并且保障它们不另行,就有点力不存心了。

为此,合理的设计自动生成的slug,是相当有必不可少的。针对自己的Django站点来说,因为订阅的篇章是同一时间自动更新的,由此愿意每一篇文章的slug都可以自带更新日期,便于我与篇章的静态文件目录一一对应。此外一些,对于小说数量较多的动静,怎么能避免文章主键不会产出重复?对此我为种种篇章定义了8位的字符映射码,有生之年是很难出现重复的。最终我使用了日期+随机码的艺术作为slug字段的情节。

那件事给本人的教训是:看似有含义的安顿其实并不曾意思(slug与小说标题相关),合理方便才是最好的

4.不要到最终才将Django站点安顿到支付环境中

诚如景观下,大家将Django站点在地点开发落成未来,才配备到正规的支出条件中。不过本人指出在Django站点建立初期,便将其配置到标准环境中,因为专业环境和地点开发条件一贯存在差异,假使一味以本土环境为原则来开发Django站点,到前边你会发觉安顿到标准开发条件的时候,会有成百上千布局难点让你感觉到胸口痛,而且也难以发现错误发生在哪里。

据此,提议您每成功一个针锋相对完整的行使的还要,便将其伙同至正规开发环境中,测试其成效。

5.善用git仓库

在本子修改的进度当中,你会很简单忘记到底修改了哪些地点,越发是隔几天过后持续支付,那种感觉越是强烈。由此,善用git举行分层管理,进程管理。不要偷懒,把每便提交的注脚写的通晓完整一些,对持续的开销是很有支持的。

6.不要涂改开发环境中Python默许版本,用pyenv代替

说到条件陈设,又让自己想开一点,就是不用随便更改服务器的默许python版本,因为作者用的是阿里云的centos6.5,该环境自带的是python2.6本子,而Django开发的最低python版本是2.7,我用的是3.4版本。最起首,我设置了python3.4本子,并将其设为默许,可是发现阿里云的yum命令是借助默许的python2.6本子,遂又涂改了yum的python看重路径,本认为小难题了,但在末端的支出条件中,照旧出现了广大关于Pyhton安装版本与自带默许版本之间不包容的题材。

诸如:Nginx的默认python版本始终为2.6,不管我怎么修改,如故不能取舍正确的python版本。最终,不得不再一次将全部服务器环境重新建立一遍,用pyenv+virtualenv来决定全局的python版本,这一次一切正常。不要尝试网上教程中的修改默许pyhton版本的办法,下场真的很凄惨……

上述就是当前自我能体悟的Django项目支出中所能赶上的标题,假如大家感兴趣,可以访问我的站点:http://www.landsblog.com,欢迎我们在上面留言,假若有啥样难题,也欢迎大家提议。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图