1、django的简介
浏览器与服务器之间遵循的一个协议: HTTP协议
服务器与应用程序框架之间:wsgi
1.1 Django的简介
Django是一个重量型框架
主要目的:简便快捷开发
Django基于MVC模式,但是它是MVT模式的
核心:解耦(高内聚,低耦合)
MVC设计的框架
(1)重量级框架
(2)MVT模式
MVC :
定义:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
2、创建项目的环境
虚拟环境:
项目所需要的第三方软件环境相互隔离
安装虚拟环境
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
创建虚拟环境
mkvirtualenv dj_3 -p python
切换虚拟环境
workon dj_3
删除虚拟环境
rmvirtualenv dj_3
退出环境
deactivate
3、安装Django,初步讲解
3.1安装Django:
pip install django==安装的版本号
一般安装在虚拟环境中
3.2创建项目:
django-admin startproject 项目名称
里面有一个和项目同名的文件夹,内部包含的是项目的配置文件
settings.py项目的整体配置文件
urls.py项目的URL配置文件
wsgi.py是项目与服务器的入口
manage.py是项目运行的入口
3.3 运行服务器
python manage.py runserver
注意点:如果不指定端口,默认是8000
python manage.py runserver 5000
3.4 成功的界面:
3.5 创建模块
python manage.py startapp 模块名
user子模块
admin.py 后台管理站点的配置
apps.py 当前子应用的信息
models.py 保存书写的数据库模型
text.py 用来保存开发测试用例的,进行单元测试
views.py 书写逻辑,用来保存视图。
3.6 创建模块之后,注册子模块,注册到同名文件夹的setting中
pai0805中的settings.py
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"user.apps.UserConfig"
]
3.7 简单体验数据库交互
3.7.1 定义表与字段
一张表对应了一个类
user中models.py
class UserInfo(models.Model):
name = models.CharField(max_length=10)
age = models.IntegerField()
phone = models.CharField(max_length=11)
def __str__(self):
return self.name
类名对应的是表名
属性名对应的是字段名
注意点:继承于Model
3.7.2 迁移数据库表
1、生成迁移文件
python manage.py makemigration
2、执行迁移文件
pyhton manage.py migrate
迁移成功并且执行迁移之后,才真正在数据库产生表
3.7.3 创建超级权限账号和修改界面语言
pai0805中的settings.py
LANGUAGE_CODE = "zh-Hans"
TIME_ZONE = "Asia/Shanghai"
python manage.py createsuperuser
3.7.4 数据库的配置
1、设置数据库
pai0805中的settings.py
DATABASES={
"default":{
"ENGINE":"django.db.backends.mysql",#这个参数是设置数据库
"NAME":"数据库名字",#使用的数据的名字
"USER":"root",#数据库的用户名
"PASSWORD":"mysql",
"HOST":"127.0.0.1",#数据库主机的地址
"PORT":3307,#数据库的端口
}
}
2、添加驱动
pai0805中的 __init__.py
import pymysql
pymysql.install_as_MySQLdb()
3、在admin站点管理中注册models
user 中 admin.py
from django.contrib import admin
from user.models import UserInfo #导入
admin.site.register(UserInfo)
3.7.5 查看
use pai0805;
show tables;