随笔 - 3,  文章 - 1,  评论 - 2,  阅读 - 259

MVC和MTV框架

MVC

MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:

 

MTV

Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:

  • M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
  • T 代表模板 (Template):负责如何把页面展示给用户(html)。
  • V 代表视图(View):   负责业务逻辑,并在适当时候调用Model和Template。

  除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

 

  一般是用户通过浏览器向服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

Django配置

Django官网下载页面

Django官方文档

下载Django

1
pip install django==4.2
 也可后面-i指定镜像源:pip install django==4.2 -i 指定源

创建一个Django项目

1
django-admin startproject 项目名

  需要在指定目录下创建

  由于Django是基于MTV框架,所以在项目目录下还需要创建templates文件夹存放HTML模板

应用(app)的创建和配置

1
python manage.py startapp app名

  

在项目目录下创建应用,创建完成之后需要在项目文件夹下的 settings.py 配置文件中配置app

1
2
3
4
5
6
7
8
9
10
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'app01.apps.App01Config',
    'app01',         # 需要手动添加app,两种方式都可以,有多少应用添加多少应用
]

  

模板(templates)的创建和配置

在项目目录下创建 templates 文件夹,用来存放 HTML 页面和 模板,创建完成之后,需要在settings.py 配置文件中配置 templates

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os  # 引入os模块
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],    # 在此配置,注意文件名不要写错
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

  

静态文件配置

1.项目目录下创建一个文件夹,例如名为 jingtaiwenjianjia ,将所有静态文件放到这个文件夹中

2.settings.py 配置文件中进行下面的配置

1
2
3
4
5
6
import os
# 静态文件相关配置
STATIC_URL = 'static/'         # 静态文件路径别名(映射),可修改
STATICFILES_DIRS = [           # 必须是这个 STATICFILES_DIRS 名字
    os.path.join(BASE_DIR,'jingtaiwenjianjia')
]

  

数据库配置(连接mysql)

Django 在项目 settings.py 配置文件中默认配置 sqlite3 数据库

 

连接 mysql 需要重新在 settings.py 文件中配置(将原有配置注释或删除),配置如下

1
2
3
4
5
6
7
8
9
10
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':' ',                  # 要连接的数据库的库名,连接前需要创建好
        'USER':'root',              # 连接数据库的用户名
        'PASSWORD':'',           # 连接数据库的密码
        'HOST':'127.0.0.1',      #  连接主机,默认本机
        'PORT':3306,               #  端口 默认 3306
    }
}

  

在项目文件夹下的 init.py 文件的配置如下:

参考论坛

1
2
3
4
5
6
# 在 __init__.py 文件下引入
import pymysql
# django4.2以上需要引入这句话,不然会报错如下错误(我猜测是高版本不兼容的问题)
# raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is required; you have 1.0.3.
pymysql.version_info = (1, 4, 3, "final", 0) # 1.4.3 代表mysqlclient版本号
pymysql.install_as_MySQLdb()

  

配置完成之后就是创建数据库中的数据了!

数据库同步指令

1
2
python manage.py makemigrations        # 同步数据库中的类
python manage.py migrate               # 执行数据库并创造类

  

数据库可视插件及Django所需插件

SQLite  , SQLite3 Editor  ,  MySQL Syntax  ,  MySQL  , Django

 

启动Django项目

1
python manage.py runserver 127.0.0.1:8000 # ip地址和端口号不写,默认本机8000端口

  

 

posted on   IloveElysia  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示