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':'',
}
}
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):工程的开始的更多相关文章
- Django学习之天气调查实例(3):部署静态文件CSS、JS、images等(部署环境基于Ubuntu)
在设计登录界面时,采用了网上下载的登录模板,漂亮,简易.但是在测试和部署时,发现原来模板中采用的js文件和css文件,却着实让我折腾了好几天. 在以往的网页设计中,一般只要把测试站点开启后,网页中的静 ...
- Django学习之天气调查实例(2):显示数据表数据
数据表数据添加后,如添加3条用户信息,分别为“aaa”.“bbb”.“ccc”,现在通过代码的方式显示数据表中的数据. 1.在website项目文件夹中创建 userload.py文件,并且写如下代码 ...
- Django学习-25-图片验证码实例
处理流程 用户请求网页 --> 后台发送登录界面的静态页面 --> 后台在内存中生成验证码 --> 验证码保存在用户对应的Session中 --> 返回验证码图片到前端 用户登 ...
- Django学习-14-分页功能实例
首先创建一个制作page的工具类 utils --page_make.py ...
- Django学习笔记(一):环境安装与简单实例
Django学习笔记(一):环境安装与简单实例 通过本文章实现: Django在Windows中的环境安装 Django项目的建立并编写简单的网页,显示欢迎语与当前时间 一.环境安装 结合版本兼容性等 ...
- Django学习笔记(9)—— 开发用户注册与登录系统
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- django学习-数据库配置-创建模型
数据库配置 在mysite/settings.py中,包含了django项目设置的python模块 通常,这个配置文件使用SQLite作为默认数据库.如果你不熟悉数据库,或者只是想尝试下django, ...
- Selenium2学习-039-WebUI自动化实战实例-文件上传下载
通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...
随机推荐
- IOS6 的特性 及 autoalyout的作用
1.如果控件有默认的内容(宽高), 我们只需设置autoalyout的X/Y, autolayout会自动计算出宽高 2.Xcode6将Storyboard变成豆腐干的目的:在Xcode6之前, 如果 ...
- linux下vi的一些简单的操作
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(七)之 图文,附件消息(2016-05-05 12:13)
上一篇介绍了加好友的流程,这里不再赘述,不过之前的聊天只能发送普通文字,那么本篇就教你如何实现发送附件和图片消息.我们先对功能进行分析: 发送图片,附件,需要实现上传图片和附件的功能. textare ...
- MVC学习七:Razor布局之加载分部视图【PartialView】
Partial View 顾名思义就是Html代码片段,应用于此HTML代码多次被页面加载时使用.(类似于WebForm程序中的用户控件) 注:PartialView和正常的View页面在访问时没有任 ...
- 我的wmware
1.vmware 网络连接方式 NAT 模式: 虚拟机的IP 是由NAT分配的,电脑环境无论如何变化,都不会影响虚拟机 好处:在家.学校.公司,连接虚拟机都可以使用相同的ip地址 桥接模式: 只要更换 ...
- Python—面向对象02
1.抽象类与归一化 接口,即提供给使用者来调用自己功能的方式.方法.入口 为什么要使用接口? 接口提取了一类共同的函数,可以把接口看做一个函数的集合 然后让子类去实现接口中的函数 这么做的意义在于 ...
- TDD:代码可测试设计
1 方法内部代码命令,查询分离. a . 命令方法:执行一系列动作. b. 查询方法: 执行查询动作,并返回值. 2 一个类中有好几个地方都用到了一个或多个全局变量,可以考虑把全局变量封装到另外 ...
- 使用TestFlight测试时候相关内容
前言:记录一下使用TestFlight测试时候相关内容 场景:在我们添加测试员:给测试员发送了邀请:测试员使用TestFlight的时候,其实是有崩溃的次数的记录的,相应的崩溃的信息也是可以查询到的. ...
- JS JavaScript实现杨辉三角
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ........ 观察这样的一组数,找出规律,用控制台输出这样规律的数 规律:这 ...
- Python基础—03-运算符与分支结构
运算符与分支结构 运算符 赋值运算符 用'='表示,左边只能是变量 算术运算符 +.-.*:加.减.乘 /:除法运算,结果是浮点型 //:除法运算,结果是整型 %:求余 **:求幂 复合运算符 +=. ...