简述CentOS系统下django环境的安装
1.安装django环境,因为我对django1.6.5比较熟悉,这篇文章安装django1.6.5稳定版本
yum install -y epel-release.noarch
yum install -y python-pip
pip install django==1.6.5
顺便下载ipython工具(我习惯使用1.2.1版本的ipython)
pip install ipython==1.2.1
2.创建项目(project)和应用(app)
a.切换到要创建项目的目录下(自定义路径)
[root@localhost ~]# cd /django/ ##个人习惯放在这个路径下
b.创建项目
[root@localhost ~]# django-admin.py startproject CMDB ##这里的CMDB为自定义的项目名称,我想做资产管理,所以命名为CMDB
[root@localhost django]# cd CMDB/
[root@localhost CMDB]# ll
drwxr-xr-x 2 root root 4096 5月 5 17:00 CMDB
-rwxr-xr-x 1 root root 247 5月 4 13:39 manage.py
c.创建应用
[root@localhost CMDB]# python manage.py startapp Book_Manage ##这里的Book_Manage为自定义的应用名称,我想做公司图书管理,所以命名为Book_Manage
[root@localhost CMDB]# ll
drwxr-xr-x 2 root root 4096 5月 4 20:18 Book_Manage ##创建完应用后,会生成一个Book_Manage的目录
drwxr-xr-x 2 root root 4096 5月 5 17:00 CMDB
-rwxr-xr-x 1 root root 247 5月 4 13:39 manage.py
3.修改setting.py配置文件
[root@localhost CMDB]# cd CMDB/
-rw-r--r-- 1 root root 0 5月 4 13:39 init.py
-rw-r--r-- 1 root root 116 5月 4 13:47 init.pyc
-rw-r--r-- 1 root root 2919 5月 4 14:56 settings.py
-rw-r--r-- 1 root root 2863 5月 4 14:56 settings.pyc
-rw-r--r-- 1 root root 681 5月 4 13:39 urls.py
-rw-r--r-- 1 root root 706 5月 4 13:53 urls.pyc
-rw-r--r-- 1 root root 383 5月 4 13:39 wsgi.py
-rw-r--r-- 1 root root 567 5月 4 13:51 wsgi.pyc
接下来编辑setting.py文件
DEBUG = True ##是否debug信息。开发模式下建议设置为:True,生产环境下建议设置为:False,避免debug信息泄露
ALLOWED_HOSTS = [u'192.168.1.108',u'cmdbbook.uusafe.com'] ##只允许哪些域名访问,可以是域名也可以是IP。例如,我想通过微信企业号(或者钉钉企业号)的API调用来管理公司的资产借出与归还。还需要将该域名给映射到内网的192.168.1.108上,至于如何映射就需要你懂一点网络知识啦(不清楚的朋友可以让网络工程师完成该映射)
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Book_Manage', ##这里加上自己的应用名,注意保持和创建的应用名保持一致
)
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(os.path.dirname(file)), 'templates').replace('\','/'),
) ##模板文件存放路径,主要存一些展示“界面”,如我们请求成功会跳转到success.html界面,请求失败则会跳转到error.html界面。html界面合适跳转在views.py(视图文件)中定义,该部分将在后面的文章中进行详细的介绍(当然这些html文件是自定义的,也就需要我们有一定的html5的基础,没有基础的朋友也可以百度搜索简单的展示界面放到自己的模板文件中)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'book_manage',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123456'
}
} ##指定连接的数据库,这里的配置文件已经一目了然了就不再赘述了。至于django如何连接mysql,还需要安装一个插件:
yum install -y MySQL-python
LANGUAGE_CODE = 'en_us' ##想用中文的话,这里改成zh_cn,django的界面就会显示成中文了
TIME_ZONE = 'Asia/Shanghai' ##定义时区
STATIC_URL = '/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'statics'), ##指定静态文件的存放路径,也就是一些.html、.css等展示文件存放的路径。目的是为了方便后面开发过程中需要调用这些静态文件。例如,用户在django进行了一些操作后,django服务器直接给用户返回一个请求成功的“界面”。那么这个展示“界面”中的一些静态元素就可以存放到statics目录下
4.修改models.py配置文件
models.py文件中定义的结构,也就是在定义数据库中的表结构
[root@localhost CMDB]# cd Book_Manage/
[root@localhost Book_Manage]# ll
-rw-r--r-- 1 root root 947 5月 4 13:39 admin.py
-rw-r--r-- 1 root root 1929 5月 4 13:53 admin.pyc
-rw-r--r-- 1 root root 0 5月 4 13:39 init.py
-rw-r--r-- 1 root root 123 5月 4 13:47 init.pyc
-rw-r--r-- 1 root root 1724 5月 4 13:39 models.py
-rw-r--r-- 1 root root 2921 5月 4 13:48 models.pyc
-rw-r--r-- 1 root root 60 5月 4 13:39 tests.py
-rw-r--r-- 1 root root 4157 5月 4 13:39 views.py
-rw-r--r-- 1 root root 4981 5月 4 13:53 views.pyc
增加配置:
class UserProfile(models.Model):
user = models.OneToOneField(User)
name = models.CharField(max_length=32,primary_key=True)
def unicode(self):
return self.name
class dict(models.Model):
dict_id = models.IntegerField(u'字典id',primary_key=True)
dict_name = models.CharField(u'字典对应值',max_length=64) ##字段的类型其实很有很多。具体参见django的官网
def unicode(self):
return self.dict_name
上面定义了两个表和表的格式
5.为了方便,我直接使用django默认的admin作为我的django展示界面。所以要在admin.py中注册表
增加admin.py配置:
import models
from models import UserProfile,dict
class UserAdmin(admin.ModelAdmin):
list_display = ('user','name')
class dictAdmin(admin.ModelAdmin):
list_display = ('dict_id','dict_name') ##需要展示在web界面的字段
admin.site.register(UserProfile,UserAdmin)
admin.site.register(dict,dictAdmin)
6.同步数据到数据库中(即把刚才定义的这些表同步到mysql中)
[root@localhost CMDB]# python manage.py sqlall Book_Manage ##预演示一遍需要需要同步哪些数据
[root@localhost CMDB]# python manage.py syncdb ##同步数据库的命令。这个过程中需要注册admin管理员账号,按步骤依次填写即可
[root@localhost CMDB]# python manage.py validate ##检测整个django环境中有没有语法错误(建议在django所有修改后都可以执行这条命令检测一下)
[root@localhost CMDB]# python manage.py runserver 0.0.0.0:7000 ##启动django服务,监听7000端口(0.0.0.0表示所有ip都能访问)
7.可以在浏览器中访问展示页面了
http://cmdbbook.uusafe.com:7000/admin/
账号和密码就是刚才设置的账号和密码