# 环境配置
# 创建虚拟环境
使用 conda
或 virtualenv
创建虚拟环境。
# 安装 django
在虚拟环境中使用 pip
安装 django
pip install django
# 安装 MySQL
MySQL 数据库的安装方法请参考
# 创建项目
命令行切换到你要创建项目的目录,命令行执行下面的语句创建项目,project_name
为你的项目名称,也是即将创建的项目目录的名称:
django-admin startproject project_name
执行完上述命令后,可以看到在指定的目录位置创建了一个项目目录,此目录结构为:
project_name
├── manage.py
└── project_name
├── asgi.py
├── settings.py
├── urls.py
├── wsgi.py
└── __init__.py
项目目录结构说明:
- manage.py:
Django
命令行工具,可让你以各种方式与该项目进行交互; - project_name/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包;
- project_name/settings.py: 该 Django 项目的设置/配置;
- project_name/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录";
- project_name/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目.
# 运行项目
进入项目目录,运行下面的指令,启动服务器:
python manage.py runserver
在浏览器输入 http://127.0.0.1:8000/
,结果如下:
# 数据库配置
# 安装模块
pip install mysqlclient
Django2.2
版本之前需要安装的是pymysql
模块,这里使用的是mysqlclient
# 创建数据库
create database database_name default charset utf8 collate utf8_general_ci;
database_name
为该项目需要使用的数据库名称。
# 修改配置
在项目的 settings.py
文件中找到 DATABASES
配置项,修改配置:
可将
django
默认的sqlite3
引擎配置注释
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# ENGINE指定数据库的后端引擎
'ENGINE': 'django.db.backends.mysql',
# NAME指定要连接的数据库的名称
'NAME': 'database_name',
# USER指定登录到数据库的用户名
'USER': 'root',
# PASSWORD接数据库时使用的密码
'PASSWORD': 'password',
# HOST连接数据库的主机
'HOST': '127.0.0.1',
# PORT连接数据库时使用的端口
'PORT': '3306'
}
}
# 创建 APP
# 创建 APP
在项目根目录下运行以下命令,创建一个 app, app_name
为该 app 名称
python manage.py startapp app_name
目录结构如下:
app_name
├── admin.py
├── apps.py
├── models.py
├── tests.py
├── views.py
├── __init__.py
└── migrations
└── __init__.py
# 丰富模型
打开 mdels.py
文件,根据功能和需要添加数据模型,这里以一个用户信息模型为例
class User(models.Model):
name = models.CharField(max_length=50)
password = models
# 注册 APP
在 setting.py
的 INSTALLED_APPS
中添加创建的 app_name
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name'
]
# 迁移数据库
命令行中依次运行以下语句
python manage.py makemigrations
python manage.py migrate
# python manage.py makemigrations
该指令用于生成数据库迁移文件,初次运行该指令后会在当前 app 下的 migrations
目录下生成 0001_initial.py
,在每次改动模型之后,重新运行该指令,会接继续生成 0002_initial.py
、0003_initial.py
……
# python manage.py migrate
该指令用于同步数据库,成功同步数据库后控制台输出如下:
# 创建模板和视图
在 django 中,视图对 WEB 请求进行回应
视图接收 reqeust
对象作为第一个参数,包含了请求的信息
视图就是一个Python函数,被定义在views.py中
模板基本上就是一些输出动态值的经过特殊格式化的HTML文本,支持简单的逻辑结构如循环等。当一个视图要返回一个HTML文档时,它通常会指定一个模板,提供给它所要显示的信息,并在响应里使用模板渲染的结果。