Django初探(二)

时间:2022-05-05
本文章向大家介绍Django初探(二),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

之前写过一篇Django的介绍,简单部署之后就没有深入跟进了。

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',

启动服务,原本的界面看起来好看多了,当然这是目前我调整的最好看的,其他的都不好看,后续再看看怎么美化下。