1.MVT模式

1.1、Model:负责业务对象与数据库(ORM)的对象
1.2、View:负责业务逻辑,并在适当的时候调用Model和Template
1.3、Template:负责把页面展示给用户
1.4、注意:Django中还有一个url分发器(也可以叫做路由),主要用来将一个个URL页面的请求分发给不同的View进行处理,View再调用相应的Model和Template。
1.5、图像介绍
image.png

2.安装Django

2.1、 pip install django(也可指定某一版本 django==1.8.2)
2.2、测试Django是否安装成功
进入Python环境——import Django——django.get_version()

3.创建Django项目

3.1、django-admin startproject xxx 创建一个名字为xxx的工程
3.2、通过 tree命令可以查看目录结构
image.png
3.3、目录介绍
(1)manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等都是通过本文件完 成。
(2)HelloDjango/init.py告诉python该目录是一个python包,暂无内容,后期一些工具的初始化可能会 用到
(3)HelloDjango/settings.py Django项目的配置文件,默认状态其中定义了本项目引用的组件,项目名,数据库,静态资源等。

  1. - BASE_DIR : 项目所在的路径
  2. - SECRET_KEY : 秘钥
  3. - DEBUG:调试模式
  4. - ALLOWED_HOSTS : 允许的主机
  5. - INSTALLED_APPS : 已经存在的应用
  6. - MIDOLEWARE: 中间件
  7. - ROOT_URLCONF: 跟路由
  8. - TEMPLATES: 模板
  9. - WSGI_APPLICATIONwsgi应用
  10. - DATABASES:数据库配置
  11. - AUTH_PASSWORD_VALIDATORS:认证密码的验证器
  12. - LANGUAGE_COOE:语言编码
  13. - TIME_ZONE: 统一协调时间
  14. - USE_I18N
  15. - USE_L18N
  16. - USE_TZ : 使用时区
  17. - STATIC_URL: 静态路由

(4)HelloDjango/urls.py 维护项目的URL路由映射,即定义当客户端访问时由哪个模块进行响应。
(5)HelloDjango/wsgi.py 定义WSGI的接口信息,主要用于服务器集成,通常本文件生成后无需改动。

4.创建一个应用

4.1、python manage.py startapp xxx 创建名称为xxx的应用
4.2、创建之后可以通过tree来看一下目录结构
image.png
4.3、使用应用前需要将应用配置到项目中,在settings.py中将应用加入到INSTALLEDAPPS选项中
4.4、目录介绍
(1)_init
.py:其中暂无内容,使得app成为一个包
(2)admin.py:管理站点模型的声明文件,默认为空
(3)apps.py:应用信息定义文件,在其中生成了AppConfig,该类用于定义应用名等数据
(4)models.py:添加模型层数据类文件
(5)views.py:定义URL相应函数(路由规则)
(6)migrations包:自动生成,生辰迁移文件的
(7)tests.py:测试代码文件

5.服务器运行

5.1、python manage.py runserver [ip:port]
5.2、可以直接进行服务运行 默认执行起来的端口是8000也可以自己指定ip和端口,ip指定为0.0.0.0的时候,匹配本机的全部ip

6.基本模板

6.1、模板实际上就是我们用HTML写好的页面(HTML页面一般都存放在templates目录下)
6.2、第一种:在工程目录的settings文件中的TEMPLATES的DIRS中添加os.path.join(BASE_DIR,’templates’)
6.3、第二种:在应用目录下创建templates目录并存放HTML页面,不需要在settings中注册,引入loader包,调用get_template(“XXX.html”)方法,通过render()进行渲染(render方法里面context参数传的是字典)
image.png
6.4、views中去加载渲染模板—— return render(request,’xxx’)

7.数据迁移

7.1、迁移的概念 : 将模型映射到数据库的过程
7.2、生成迁移:python manage.py makemigrations
执行迁移:python manage.py migrate

8.连接数据库驱动

  1. 8.1mysqlclient - python23都能直接使用但是对mysql安装有要求,必须指定位置存在配置文件<br /> 8.2python-mysql - 支持python2不支持python3<br /> 8.3pymysql-python23都支持,他可以伪装成mysqlclientpython-mysql<br /> pymysql安装:pip install pymysql -i https://pypi.douban.com/simple<br /> pymysql伪装:在__int__.py里面 引入 import pymysql ,并添加pymsql.install.as.MySQLdb()<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/754459/1583807120568-5e06db9d-c160-4f9e-8536-5d5c2a0dc703.png#align=left&display=inline&height=146&margin=%5Bobject%20Object%5D&name=image.png&originHeight=200&originWidth=834&size=126658&status=done&style=none&width=610)

9.Django shell

9.1、集成了python环境的shell终端,通常在终端中做一些调试工作

10.model模型

10.1、通过models.ForeignKey(XXX)进行关联
10.2、ORM—对象关系映射,可以理解为翻译机,将业务逻辑和sql进行了解耦
image.png

10.3、元信息:可以使用meta,可以指定数据库的名字
image.png
10.4、模型过滤:(可以连续使用)
filter:满足条件返回
exclude:不满足条件返回

11.创建超级管理员

11.1 python manage.py createsuperuser

12.生成requirements.txt文件

12.1 pip freeze > requirements.txt 命令迁移模块