Django学习之天气调查实例(1):工程的开始

        开始学习Django,一步一个脚印的进行。思考再三,还是以一个实例来开始学习。手里面正好有几万条单位天气传感器收集的数据,想做一个网页版的天气统计查询之类的小应用,也可以给学生体验,方便教学的进行(尽管教学目前不适用Python)。

       前面通过近1个月的努力,终于把部署的环境(基于ubuntu server+apache+mod-wsgi)弄清楚了,现在开发环境准备这样进行:

  •       开发环境:windows10 + python3.6 + Django1.11,IDE可以采用Pycharm;
  •       部署环境:Ubuntu16.04 + apache2.4 + Django1.11 + MySQL 。

1.创建工程

    现在指定工程名称为:website

    通过命令:  

django-admin.py startproject website

  创建成果后,进入文件夹  website,运行命令:

python manage.py runserver

   

   若显示上图所示,则表示创建成功。

  成功运行后,需要设置数据库的连接,打开settings.py文件,在database部分连接mysql数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django
        'NAME': 'website',
        'USER': '用户名',
        'PASSWORD': '密码',
        'HOST':'IP地址',
        'PORT':'3306',
    }
}

 

 

2.创建模型:

    由于Django的开发也是基于MVC的架构,所以数据模型是数据库与页面数据的中间实体。创建数据模型使用 startapp命令,如下:

django-admin startapp webModel

  创建成功后会创建webModel的文件夹。进入该文件夹,打开models.py 文件,可以创建数据模型了。首先创建一个"Users"的数据模型,包含“username”和“password”两个字符字段,具体如下:

class Users(models.Model):
    username=models.CharField(max_length=20)
    password=models.CharField(max_length=32)

  打开 settings.py文件,将“webModel”添加到里面如下:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'TestModel',               # 添加此项
)

  完成后,通过3条语句来实现数据实体反映倒是数据库,即在数据库创建数据表。

python manage.py migrate   # 启动迁移

python manage.py makemigrations webModel  # 让 Django 知道我们在我们的模型有一些变更
python manage.py migrate webModel   # 迁移数据变化

  完成后观察数据库,发现数据表已经顺利创建完成

        若是第一次的模型添加时还缺少字段,如现在添加一个创建日期 createdt,model.py如下所示:

class Users(models.Model):
    username=models.CharField(max_length=20)
    password=models.CharField(max_length=32)
    createdt=models.DateField("创建时间",default = timezone.now()) #新增

  新增字段后,需要重新迁移,才能更新到数据库,执行如下命令:

python manage.py makemigrations webModel  # 让 Django 知道我们在我们的模型有一些变更
python manage.py migrate webModel   # 迁移数据变化

  至此,数据模型创建完毕,以后需要什么模型时到时候再创建即可。

posted @ 2017-12-12 19:52  A·DONG  阅读(356)  评论(0编辑  收藏  举报