之前写过一篇Django的介绍,简单部署之后就没有深入跟进了。
上周末去广州参加技术大会,在往返的飞机上,自己调试了下Django里面的内容。因为飞机上没有网络,所以自己的注意力就是依赖于官方文档,光是看Django的官方文档,自己就感觉到内容的庞大了,所以路还有很多要走。
英文文档能够锻炼自己的英文水平,官方文档很细,已经能够达到每个步骤都跟进/更新的程度了,所以照着文档完整的测试一遍应该不成问题。
还有个中文地址,下面会有Django 1.8版本的文档汇总,能把官方的文档翻译成中文,感兴趣可以参考这个链接:
http://python.usyiyi.cn/translate/django_182/index.html
当然模拟演练的过程,我就不一一列出来了,文档里面的是一个模拟问答投票的应用polls,完全按照官方文档的顺序来操作即可。
最开始的部分其实还是很简单的,能够几个命令就构建出一个用户管理模块。后面有几个地方是需要在这个基础上改进的,ORM的映射目前是采用自带的sqllite数据库服务,我们可以根据需求修改成MySQL.
settings.py文件就需要改为如下的形式。
DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
'NAME':'test_django',
'USER':'test_django',
'PASSWORD':'mysql',
'PORT':51135,
'HOST':'192.168.253.133'
}
}
对于数据库的访问和操作ORM的部分和Java系的Hibernate很相似。
简单的构建能出图,对于一些细节的调整,还是有很多的选项需要参考。
比如在polls/admin.py里面的内容:
映射到代码层就是如下的效果了。
比如出现的多个Choices框就是在extra=3的部分配置的。是否在前端的表格里面显示某些数据的列,可以使用 list_display来显示指定的列,使用search_fields来做文本匹配,根据pub_date来过滤时间,对于字段“Date Information”还可以折叠收起。
在这个基础上还有很多的细节需要补充,比如字符集,目前看到的是英文,可以修改为中文。在settings.py里面修改 LANGUAGE_CODE为 'zh-Hans'
当然在这个基础上,可以让界面看起来好一些,比如bootstrap框架,可以做很多的美化工作。
使用pip来安装bootstrap
pip install bootstrap-admin
在settings.py里面修改INSTALLED_APPS的值,加入bootstrap即可。
INSTALLED_APPS = (
'polls',
'bootstrap_admin',
启动服务,原本的界面看起来好看多了,当然这是目前我调整的最好看的,其他的都不好看,后续再看看怎么美化下。