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 ...
随机推荐
- Orchard Core 使用模板创建Module
根据官方示例:https://orchardcore.readthedocs.io/en/latest/Templates/README/#create-a-new-module 执行以下命令: do ...
- 技术blog
看到好多人都写技术blog,发现自己工作了快两年居然都没有写过blog,很是惭愧,遂从今天开始不定期更新技术体验,主要是为了记下自己学习摸索技术过程中的经验以及问题解决方案.
- VS LNK2019 解决办法之一
LNK2019: unresolved external symbol _main referenced in function __main 有人说这是因为静态动态引用引起的,但是!这些都没有解决我 ...
- Python 变量交换
# coding = utf-8 a, b = 1, 2 print 'before change' print a, b a, b = b, a print 'after change' print ...
- 十天精通CSS3
课程地址:http://www.imooc.com/learn/33 第1章 初识CSS3 CSS3课程列出第一站,先带领大家进入CSS3的世界,探索CSS3的魅力! 你做好准备了吗? 第2章 边框 ...
- W5100与MCU的连接方式
W5100与MCU的连接方式 W5100与MCU的连接方式主要有直接总线连接.间接总线连接.SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式. 1)直接总线连 ...
- autofac 注册
1 注册的概念和方式 使用autofac 的ContainerBuilder 来注册组件(components---通常指实现类),并把它的服务(service---通常指接口,抽象类,类实例)暴露给 ...
- CONVERT函数----SQL
CONVERT函数是把时间转换成新类型的通用格式,这样方便查询 CONVERT(type,expression,style) type: 例如:varchar(10) 数据库字符串的类型,大小可以自 ...
- 跨交换机的VLAN划分实验
实验涉及命令以及知识补充 大部分命令和上一篇相同,本篇介绍不同的收获. 上一篇链接: https://www.cnblogs.com/Coeus-P/p/9122462.html 退出命令 ctrl+ ...
- OGG抽取进程异常问题排查一例
1.问题现象抽取进程常常running,但是没有新产生trail文件,lag比较大 GGSCI (xxxdb) > info all Program Status Group Lag at Ch ...