开始学习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':'',
}
}

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

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

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

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

Django学习之天气调查实例(1):工程的开始的更多相关文章

  1. Django学习之天气调查实例(3):部署静态文件CSS、JS、images等(部署环境基于Ubuntu)

    在设计登录界面时,采用了网上下载的登录模板,漂亮,简易.但是在测试和部署时,发现原来模板中采用的js文件和css文件,却着实让我折腾了好几天. 在以往的网页设计中,一般只要把测试站点开启后,网页中的静 ...

  2. Django学习之天气调查实例(2):显示数据表数据

    数据表数据添加后,如添加3条用户信息,分别为“aaa”.“bbb”.“ccc”,现在通过代码的方式显示数据表中的数据. 1.在website项目文件夹中创建 userload.py文件,并且写如下代码 ...

  3. Django学习-25-图片验证码实例

    处理流程 用户请求网页 --> 后台发送登录界面的静态页面 --> 后台在内存中生成验证码 --> 验证码保存在用户对应的Session中 --> 返回验证码图片到前端 用户登 ...

  4. Django学习-14-分页功能实例

    首先创建一个制作page的工具类                     utils                         --page_make.py                    ...

  5. Django学习笔记(一):环境安装与简单实例

    Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...

  6. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  7. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  8. django学习-数据库配置-创建模型

    数据库配置 在mysite/settings.py中,包含了django项目设置的python模块 通常,这个配置文件使用SQLite作为默认数据库.如果你不熟悉数据库,或者只是想尝试下django, ...

  9. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

随机推荐

  1. Orchard Core 使用模板创建Module

    根据官方示例:https://orchardcore.readthedocs.io/en/latest/Templates/README/#create-a-new-module 执行以下命令: do ...

  2. 技术blog

    看到好多人都写技术blog,发现自己工作了快两年居然都没有写过blog,很是惭愧,遂从今天开始不定期更新技术体验,主要是为了记下自己学习摸索技术过程中的经验以及问题解决方案.

  3. VS LNK2019 解决办法之一

    LNK2019: unresolved external symbol _main referenced in function __main 有人说这是因为静态动态引用引起的,但是!这些都没有解决我 ...

  4. Python 变量交换

    # coding = utf-8 a, b = 1, 2 print 'before change' print a, b a, b = b, a print 'after change' print ...

  5. 十天精通CSS3

    课程地址:http://www.imooc.com/learn/33 第1章 初识CSS3 CSS3课程列出第一站,先带领大家进入CSS3的世界,探索CSS3的魅力! 你做好准备了吗? 第2章 边框 ...

  6. W5100与MCU的连接方式

    W5100与MCU的连接方式 W5100与MCU的连接方式主要有直接总线连接.间接总线连接.SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式. 1)直接总线连 ...

  7. autofac 注册

    1 注册的概念和方式 使用autofac 的ContainerBuilder 来注册组件(components---通常指实现类),并把它的服务(service---通常指接口,抽象类,类实例)暴露给 ...

  8. CONVERT函数----SQL

    CONVERT函数是把时间转换成新类型的通用格式,这样方便查询 CONVERT(type,expression,style) type: 例如:varchar(10)  数据库字符串的类型,大小可以自 ...

  9. 跨交换机的VLAN划分实验

    实验涉及命令以及知识补充 大部分命令和上一篇相同,本篇介绍不同的收获. 上一篇链接: https://www.cnblogs.com/Coeus-P/p/9122462.html 退出命令 ctrl+ ...

  10. OGG抽取进程异常问题排查一例

    1.问题现象抽取进程常常running,但是没有新产生trail文件,lag比较大 GGSCI (xxxdb) > info all Program Status Group Lag at Ch ...