Django基础 - 01入门简介

一、 基本概念

1.1 Django说明

复制代码
Django发布于2005年, 网络框架, 用Python编写的开源的Web应用框架。

采用了MVC框架模式,也称为MTV模式。

官网: https://www.djangoproject.com

1.2 MVC框架

复制代码
Model:      封装和数据库相关的业务逻辑
View:       视图, 用来呈现数据
Controller: 控制器,接收用户输入,调用View的输出,协调流程的运转
特点:        解耦, 降低模块之间的耦合性, 方便变更, 容易重构。

1.3 MTV框架

复制代码
Model:      模型,封装 数据库相关的业务逻辑
Template:   模板, html, 相当于 MVC中View的职责
Views:      视图函数, 相当于MVC中的Controller, 用来协调
urls:       Django中的分发器, 一般称为url路由; 将一个URL页面的请求分发给不同的View进行处理,View再调用相应的Model和Template


1.4 请求流程

复制代码
请求到urls分发器
urls分发器 根据路由规则(正则)分发到views
views 调用Model, 交互数据
views 将数据渲染到 模板中
模板呈现给用户

二、 Django 项目初始化

2.1 创建工程: 纯Python工程(Pure Python)

2.2 安装Django=2.1.5

python 复制代码
(venv) E:\PythonLearn\djangoDemo>pip install django==2.1.5
Looking in indexes: https://pypi.doubanio.com/simple

2.3 创建Django 项目

python 复制代码
# django-admin 必须在安装了Django的环境中使用
(venv) E:\PythonLearn\djangoDemo>django-admin --help
Type 'django-admin help <subcommand>' for help on a specific subcommand.
 
# django-admin 命令 创建Django项目
(venv) E:\PythonLearn\djangoDemo>django-admin startproject helloDjango

修改 Django项目 目录为源码目录

2.4 创建Django项目的 应用APP

在一个Django项目中,可以有很多的app应用(模块), 创建好的app 需要手动注册到主工程中(settings.py)

python 复制代码
# 进入到工程目录下创建应用,不然应用目录存放在命令执行的路径下
(venv) E:\PythonLearn\djangoDemo>cd helloDjango
 
# 通过django-admin 创建app应用
(venv) E:\PythonLearn\djangoDemo\helloDjango>django-admin startapp mainapp
(venv) E:\PythonLearn\djangoDemo\helloDjango>django-admin startapp orderapp

Django项目的目录结构 

相关推荐
Zane19941 分钟前
闭包到底"闭"住了什么?一文讲透 LEGB 规则与循环里的闭包陷阱
后端·python
techdashen12 分钟前
Go设计取舍之六: sync.Mutex正常模式与饥饿模式
开发语言·后端·golang
Lumi_Peak21 分钟前
Claude思考了42秒,我的代码质量直接提升了一个档次
python·claude
Zane199422 分钟前
CAS 与原子类:Java 如何实现无锁编程
java·后端
颜进强24 分钟前
前端看后端 13:什么是 Cookie 和 Session?
前端·后端
gitboyzcf27 分钟前
mpegts.js解决Chrome无法播放7568×142分辨率报错 DOMException问题
前端·后端
m沐沐33 分钟前
【机器学习】DBSCAN聚类算法——原理、参数调优与实战
人工智能·python·深度学习·算法·机器学习·聚类·dbscan
程序员-Benothing1 小时前
Java ForkJoinPool 详解:从分治思想到高性能并行计算
java·开发语言·后端·面试·职场和发展
梅孔立1 小时前
推荐一个 Python 开源项目:AI 模板填充 + Markdown 转 Word,面向 Aspose 模板引擎的效率神器
人工智能·python·开源
码农小韩1 小时前
AIAgent应用开发——大模型理论基础与应用(七)
python·学习·ai·大模型·agent