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

时间:2021-03-23 07:01:07

开始学习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

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

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

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

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

2.创建模型:

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

django-admin startapp webModel

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

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

  打开 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 # 迁移数据变化

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

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

若是第一次的模型添加时还缺少字段,如现在添加一个创建日期 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 # 迁移数据变化

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