Django模块的部署

开发 后端
本文介绍Django模块的部署。在Django中,与工程全局相关的设置都需要在配置文件settings.py中添加。为了使Django识别开发者添加的应用模块,在settings.py文件的INSTALLED_APPS部分中,需要定义Django工程加载的应用列表。

在Django中,与工程全局相关的设置都需要在配置文件settings.py中添加。笔者使用MySQL作为后台数据库,并且已经在MySQL中创建名为django_news的数据库。则需要在settings.py文件中的相应位置设定DATABASE_ENGINE = "mysql" 以及 DATABASE_NAME = "django_news"。

这里要注意的是,如果使用SQLite数据库,Django可以根据数据库的名称自动在SQLite中创建新的数据库,而在MySQL、PostgreSQL或其他的数据库中,则需要先创建与设定名称对应的数据库。在使用MySQL数据库时,需要额外安装MySQL的Python链接库MySQLdb-1.2.1,这个模块可以在站点http://sourceforge.net/projects/mysql-python/下载,目前支持的Python版本为2.4,所以使用MySQL数据库需要在2.4版本的Python环境来开发运行。

接下来的DATABASE_USER和DATABASE_PASSWORD两项内容则需要用户根据本机设置填写访问数据库的用户名和密码。如果数据库安装在其他机器上或者更改了数据库的监听端口,则还需要设置DATABASE_HOST地址和DATABASE_PORT项。笔者使用的Mysql数据库设置为:

  1. DATABASE_USER = 'django'   
  2. DATABASE_PASSWORD = 'django_password'  

为了使Django识别开发者添加的应用模块,在settings.py文件的INSTALLED_APPS部分中,需要定义Django工程加载的应用列表。默认情况下,列表中已经添加了Django工程运行所需的部分自带模块,我们还需要把刚才编写好的应用模块news.article加入其中,同时添加Django自带的django.contrib.admin应用模块,修改好的代码如下所示:

添加所需的模块

  1. INSTALLED_APPS = (   
  2.  'django.contrib.auth',   
  3.  'django.contrib.contenttypes',   
  4.  'django.contrib.sessions',   
  5.  'django.contrib.sites',   
  6.  'django.contrib.admin',   
  7.  'news.article',   
  8. )  

添加admin模块后还不能立即使用Django的admin后台管理界面,需要打开News工程根目录下的urls.py文件,将“# Uncomment this for admin:”后面的#注释去掉,使得Django针对管理界面的URL转向“(r'^admin/', include('django.contrib.admin.urls')),”可用,这样访问admin模块时Django就可以顺利解析访问地址并转向后台管理界面。

当配置文件的改动完成之后,就可以在News工程的命令提示符下执行manage.py syncdb指令。Django会根据模型的定义自动完成ORM的数据库映射工作,屏蔽了底层数据库细节和SQL查询的编写。

展示Django魅力的时刻已经来临,Django框架将让开发者开始神奇的体验。随着命令执行后的滚动提示,Django已经根据我们刚才在models里定义的映射文件,自动在数据库里创建好对应的表和字段。命令执行的同时会提示用户创建“superuser"账户,来登陆Django自动创建好的后台管理界面对模型进行管理。指令执行时同步更新数据库表的命令提示如图2所示:

Django指令执行时同步更新数据库表 
Django指令执行时同步更新数据库表
 

维持学习动力的***方式就是随时都可以找到一点小小的成就感,下面来看一下这些步骤完成了哪些工作。再次使用命令manage.py runserver来启动Django自带的Web服务器后,在浏览器中访问地址http://127.0.0.1:8000/admin/,使用刚才创建的superuser用户的账号和密码登陆,如图3所示漂亮的Django后台管理界面就出现在眼前。

Django根据模型自动生成的后台管理界面 
Django根据模型自动生成的后台管理界面

在admin管理界面中,显示了应用中已经定义的各个models模块,当点击查看时,则会显示models中存在的数据库对象列表。Django提供的后台管理界面方便用户直接更改或添加数据库字段,下面我们点击"Lists"项旁边的“Add”来添加新的新闻分类。在title字段中键入“Sports News”或其他你喜欢的分类后保存。然后在"Items"项中点击“Add”,填入新闻的***个条目,每个Item条目都对应List中的一个分类项,添加Item的界面如图4所示,由于设置了表之间的关联,Django的Item管理界面中会为已添加List分类自动生成内容的下拉选项。

添加新闻条目的界面
添加新闻条目的界面

Django便捷的后台管理界面为Web开发人员节省了大量的时间,目前使用到的只是Django默认的后台管理方式。欲更多的了解Django的模块部署,开发者还可以参考Django提供的用户手册对后台进行进一步的定制和个性化。

【编辑推荐】

  1. Django简介以及模型定义概述
  2. 安装配置Django开发环境(Eclipse + Pydev)
  3. Python框架Django 1.0版将于9月2日发布
  4. Django是否已经达到顶峰?
  5. 解决Eclipse无法调试J2ME程序的配置方法
责任编辑:yangsai 来源: IBMDW
相关推荐

2021-10-13 08:53:09

Docker Django 容器

2012-05-07 08:33:20

dotcloudDjango

2021-07-18 08:33:56

TrickBot恶意软件网络安全

2017-08-02 08:45:38

模块化数据中心部署

2023-09-21 22:43:17

Django框架

2010-03-22 15:38:46

Python常用模块

2021-08-27 13:20:06

PythonAddict模块

2010-02-01 10:30:13

Python世界

2010-02-01 10:40:13

Python Djan

2011-08-24 11:30:39

Active Powe

2010-03-23 08:56:38

Python随机数模块

2017-01-18 07:38:43

谷歌云计算安全

2023-12-20 09:16:21

DjangoHaystackWeb应用程序

2009-06-12 18:53:35

Django控制层Django表现层

2023-01-03 08:06:00

2010-02-01 14:37:44

PythonWin模块

2010-07-13 09:59:55

HART通讯模块

2023-07-14 22:36:42

Node.jsStorage

2023-03-08 07:33:33

2021-11-22 22:14:46

JavaScript开发模块
点赞
收藏

51CTO技术栈公众号