环境:Ubuntu
初始化环境
virtualenv,是使用python开发的一个创建虚拟环境的工具,源码官网地址:​​​https://github.com/pypa/virtualenv​​​ 刚用到这个东西时,会联想到虚拟机和影子系统,不过相比于后两者,virtualenv更为便捷。不需要重启系统进入影子模式,也不需要启动虚拟机拖慢你的系统。你只需要通过命令创建一个虚拟环境,不用的时候通过命令退出,甚至删除,均可。
安装virtualenv

sudo apt-get install python-virtualenv

创建并进入环境:mkvirtualenv env1

退出环境:deactivate

进入已存在的环境或者切换环境:workon env1或者env2

删除环境: rmvirtualenv env1

然后建立一个测试目录:

mkdir testvirtual

cd testvirtual

然后创建一个虚拟环境:virtualenv env1

env1下的目录如下:

使用virtualenv创建虚拟python环境_虚拟环境


bin下的目录如下:

使用virtualenv创建虚拟python环境_django_02


cd切换到该env1的目录下,执行命令:source bin/activate

你会发现在shell提示符前面多了(env1)这个提示,这就说明你已经是在虚拟环境中,在这个里面你可以安装任意的python库,而不用担心会把系统自带的python库搞乱。

下载安装Danjo(~=表示安装指定版本的最新版,表示安装Django 1.11.x版本,x表示1.11版本的最新版的小版本号)

pip install django~=1.11

创建项目
在另外一个文件夹里创建项目跟目录

(env1) root@ubuntu:/home/wuyou/workspace# mkdir student_house

创建项目:

cd student_house && django-admin startproject student_sys

项目的目录结构如下:

使用virtualenv创建虚拟python环境_django_03


创建App

在创建好的manage.py创建一个App

python manage.py startapp student

现在目录如下:

使用virtualenv创建虚拟python环境_虚拟环境_04


在Model层编写代码

在文件student_house/student_sys/student?models.py中编写如下代码

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Student(model.Model):
SEX_ITEMS = [
(1, '男'),
(2, '女'),
(0, '未知'),
]
STATUS_ITEMS = [
(0, '申请'),
(1, '通过'),
(2, '拒绝'),
]
name=moddels.CharField(max_length=128,verbose_name="姓名")
sex=models.IntegerField(choices=SEX_ITEMS,verbose_name="性别")
profession=models.CharField(max_length=128,verbose_name="职业")
email=models.EmailField(verbose_name="Email")
qq=models.CharField(max_length=128,verbose_name="QQ")
phone=models.CharField(max_length=128,verbose_name="电话")

status=models.IntegerField(choices=STATUS_ITEMS,default=0,verbose_name="审核状态")
created_time=models.DateTimeField(auto_now_add=True,editable=False,verbose_name="创建时间")

def __str__(self):
return '<student>: {}>'.format(self.name)

class Meta:
verbose_name=verbose_name_plural="学员信息"

​编写admin.py​

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.contrib import admin
from .models import Student
# Register your models here.
class StudentAdmin(admin.ModelAdmin):
list_display=('id','name','sex','profession','email','qq','phone','status','created_time')
list_filter=('sex','status','created_time')
search_fields=('name','profession')
fieldsets=(
(None,{
'field':(
'name',
('sex','profession'),
('email','qq','phone'),
'status',
)
}),
)

admin.site.register(Student,StudentAdmin)

Model和Admin界面就好了,​​接下来需要把student这个App放到settings.py​​(在workspace/student_house/student_sys/student_sys目录下)中,只需要修改INSTALLED_APPS的最后或者最前添加’student’即可

INSTALLED_APPS = [
"student",
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

后台部分部署好了
在student_house/student_sys目录下创建表和超级用户。