修改访问端口:运行命令时,指定运行端口
python manage.py runserver [port]
python mangae.py runserver 9000 表示在9000端口启动服务器
指定让所有人可以访问当前项目资源[相同网段]
首先:修改项目配置文件settings.py ,在ALLOWED_HOSTS配置选项的列表中,添加一个符号ALLOWED_HOSTS = [‘*’],表示允许所有主机可以访问当前项目资源
其次:运行项目时,命令行中指定绑定服务器的ip地址,如果是0.0.0.0表示绑定当前主机的所有IP地址
python manage.py runserver 0.0.0.0:8000
实际项目操作中
开发环境:
一般情况下,安装集成开发环境,也就安装一个简单软件,包含了数据库的功能
如:wamp-> web apache mysql php 软件安装好同时包含apache服务器、mysql数据库、php运行环境
xampp-> apache mysql php perl 软件安装好同时包含apache服务器、mysql数据库、php运行环境、perl运行环境
mysql->直接安装mysql软件[DBMS],就可以像生产环境一样操作mysql数据库
生产环境:
一般情况下,安装指定的数据库管理系统软件,同时可能会购买官方的维护服务
Django操作数据库——数据模型MVT:model数据模型部分
Django连接数据库
web软件对于数据库的操作,都是一种常规操作,每次的操作开发都是重复的,所以Django将连接数据库的操作封装起来了
只需要进行简单的配置就可以完成和数据库的连接
修改项目的配置文件settings.py
DATABASES配置选项
DATABASES = {
'default': {
连接数据库的引擎对象
'ENGINE': 'django.db.backends.mysql',
连接数据库的名称
'NAME': 'py1712db',
连接数据库登录账号
'USER': 'root',
连接数据库的登录密码
'PASSWORD': ''
}
}
python新版本连接mysql数据库使用的是pymysql模块
Django底层连接数据库操作,使用的是mysqldb模块[对于新版本python和mysql不支持,官方太懒没有更新]
一般情况下,会使用pymysql替代mysqldb
import pymysql
pymysql.install_as_MySQLdb()
Django将数据自动同步数据库
一般会执行三个步骤,完成数据库表的创建,执行如下命令
python manage.py makemigrations 生成对应数据库的sql语句
python manage.py sqlmigrate app_name no 查看sql语句
python manage.py migrate 将生成的sql语句,执行到数据库中去
Django中的数据模型的定义和同步
项目中的自定义数据类型,是项目中核心的处理的数据[类型创建的对象]
对于数据的处理,通常情况有四种操作操作方式:增加、删除、修改、查询
对于数据定义、和数据库中数据库之间的关联、数据对象的操作,都是固定的流程
就出现了一种特殊的编程思路:ORM处理方式
ORM:(Object Relation Mapping 对象关系映射),是一种编程操作方式,类似MVC也是一种编程思想,将常规的操作方式固定化了处理流程之后,就可以进行封装简化操作,方便快捷的给项目提供一种可行的和数据库之间的交互操作
Django作为一个成熟的框架,对ORM提供了非常友好的支持!
Django为了方便的管理创建的类型以及对象,需要自定义类型继承Django内建的一个类型:django.db.models.Model
同时为了方便的管理类型中的各个属性,Django提供了各种创建数据的函数
django.db.models.AutoField() 创建主键属性
django.db.models.CharField() 创建字符串属性
django.db.models.TextField() 创建长文本属性
django.db.models.IntegerField() 创建整数属性
..
创建属性的同时,可以给属性添加各种限制条件,默认值、最大长度、是否主键、是否可以为空等等条件
实际操作过程:
在models.py数据模型模块中,定义自己的数据模型
自定义数据类型,必须继承django.db.models.Model
数据类型的属性,通过Django内建的函数来创建
就可以进行数据同步操作了!
python manage.py makemigrations 生成sql语句
python manage.py migrate 执行sql语句
在项目操作过程中,通常情况要创建各种数据类型
创建的多个数据类型之间可能会存在关联关系
如:博客项目中——作者、文章;作者类型 -> 文章类型 : 一对多 | 多对一的关系
django.db.models.ForeignKey()
如:用户信息管理项目——当前用户、配偶 -> 丈夫 - 妻子:一对一的关系
django.db.models.OneToOneField()
如:学校课程管理系统——学生、课程-> 学生 – 课程 : 多对多的关系
django.db.models.ManyToManyField()
数据库怎么体现:
作者—文章:一对多关系:作者[Author]—文章[Article(author外键)]
Django项目
|-- 根项目[视图]
|-- 子项目[模型、视图]
视图映射-> url-> 主路由 -> 子路由
模型管理-> 根项目 -> 子项目[模型] -> settings.py [INSTALLED_APPS]