Django基础
Django简介
MVC(Model View Controller)模式,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
- Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
- View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
- Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
Django是一个基于MVC构造的Web应用框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。
- 模型(Model),即数据存取层处理与数据相关的所有事务,用于创建模型的对象关系映射。
- 模板(Template),即表现层处理与表现相关的决定: 如何把页面展示给前端用户。
- 视图(View),即业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
settings
1、app路径
通过python manage.py startapp 'appname'创建的应用,需要在这儿添加。
1 2 3 4 5 6 7 8 9 | INSTALLED_APPS = [ 'django.contrib.admin' , #管理员站点 'django.contrib.auth' , #认证授权框架 'django.contrib.contenttypes' , #内容类型框架 'django.contrib.sessions' , #会话框架 'django.contrib.messages' , #消息框架 'django.contrib.staticfiles' , #管理静态文件的框架 'myapp.apps.MyappConfig' , #自定义创建的app ] |
2、中间件
可以添加自定义的中间件,配置要写在系统中的后面
1 2 3 4 5 6 7 8 9 | MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware' , 'django.contrib.sessions.middleware.SessionMiddleware' , 'django.middleware.common.CommonMiddleware' , 'django.middleware.csrf.CsrfViewMiddleware' , 'django.contrib.auth.middleware.AuthenticationMiddleware' , 'django.contrib.messages.middleware.MessageMiddleware' , 'django.middleware.clickjacking.XFrameOptionsMiddleware' , ] |
3、数据库
默认配置sqlite3
1 2 3 4 5 6 | DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.sqlite3' , 'NAME' : os.path.join(BASE_DIR, 'db.sqlite3' ), } } |
MySQL数据库配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | DATABASES = { 'default' : { 'ENGINE' : 'django.db.backends.mysql' , 'NAME' : 'django' , 'USER' : 'root' , 'PASSWORD' : '123' , 'HOST' : '', #默认localhost 'PORT' : '3306' , } } #需要在应用目录下的__init__.py文件中添加 import pymysql pymysql.install_as_MySQLdb() |
4、静态文件目录
可以自定义一个静态文件目录,存放css文件、js文件、图片等一些静态文件。
1 2 3 4 5 6 7 8 | #为这个目录添加虚拟的名称,引用是它就代替真实的目录 #目的是为了,改变真实的目录名时,代码中的目录结构不需要修改 STATIC_URL = '/static/' #配置真实路径 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static" ), ] |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· 万字长文详解Text-to-SQL
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· 卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!