python+django实践

玩了好久python了,现在才做出一个网站来,说起来很惭愧啊,之前一直以为python做科学计算比较强大(主要是不喜欢MATLAB),后来才发现原来python也可以做后端。好了,不水了,说下实现过程。

现在网站普遍采用LAMP(自行Google)来做,L指Linux,A指Apache,M指MySQL,P指PHP,当然也可以指Python或Perl。因为它们都是开源的,故得到了极大的发展,而且还有一种相互兼容性提高的趋势。我这里采用阿里云ECS,Ubuntu系统(LTS 14.04)(阿里云有个学生专享,9.9元每月,交10个月钱可以用12个月,P.S.我不是做广告,的),Apache 2.4.7,数据库是用的python自带的sqlite3,python 2.7.6,django 1.6.10。

我刚接触阿里云的时候,不是特别习惯这种完全无界面的关系,之前本地做的时候,是用eclipse在ubuntu下开发的,界面相当友好,但是阿里云给的服务器1核CPU,1G内存,我之前试过装个桌面,用vnc来可视化,但是这速度呵呵,果断放弃。于是采用putty软件来使用命令行命令,Xftp5软件来传输文件,功能相当强大。

前端,主要用的是免费网站模板上的一个law office模板,当然也改了尼玛巨多东西,主要是CSS布局比较麻烦,我之前写过,写的比较丑,周期还长,现在直接就套用了。后端参考设计自强学堂-django,我之前还问过涂老师问题,他还给我回邮件了,虽然没有起到什么帮助,但是仍非常感谢。

说下细节部分,前端的话,主要是django模板系统的应用:

1.  用{{}} 包围变量,如{{news_caption}},这表示把从数据库里取出来的变量的值插入到HTML页面内。

2.  用{% %}包围的是块标签,如{% for news in news_list %}......{% endfor %},显然变量是有作用范围的,语法与python一致。

尤其要注意的是模板引擎提供过滤器功能,同样的对象经过过滤器后,可呈现出不同的状态,例如时间对象经过过滤器后可呈现不同形态,可以是05/2016,也可以是May.2016. 其次是extends和include的使用,可以代码复用,提高你的开发效率。然后是图片的引用,这个困扰了我一段时间,<img src="{{latest.news_photo.url}}">引用图片。

关于模板系统,可参考django模板系统

后端的话,建立project和app后,主要是在models,views,urls里面写程序(仅限于我)。models是建立数据库,并处理数据库的内容,由于django采用ORM模式操作数据库,故我们不需要直接写SQL语句,直接继承model类即可。urls负责匹配网址URL,并传递到views里面,views负责处理逻辑,从数据库中取出数据,并传给静态HTML文件。

最后是配置到服务器上,权限很重要,权限很重要,权限很重要,重要的事情说三遍。

如果有兴趣请给我发邮件(349273629@qq.com),问问题,或者要源码。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值