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项目的目录结构 

相关推荐
查老师6 分钟前
就为这一个简单的 Bug,我搭上了整整一个工作日
后端·程序员
Valueyou2440 分钟前
论文阅读——CenterNet
论文阅读·python·opencv·目标检测·计算机视觉
孤狼warrior40 分钟前
目前最新同花顺金融股市数据爬取 JS逆向+node.js补浏览器环境
javascript·爬虫·python·金融·node.js
蒋星熠42 分钟前
全栈开发实战指南:从架构设计到部署运维
运维·c++·python·系统架构·node.js·devops·c5全栈
绝无仅有43 分钟前
大厂某里电商平台的面试及技术问题解析
后端·面试·架构
天若有情6731 小时前
从零实现轻量级C++ Web框架:SimpleHttpServer入门指南
开发语言·前端·c++·后端·mvc·web应用
绝无仅有1 小时前
某里电商大厂 MySQL 面试题解析
后端·面试·架构
IT_陈寒1 小时前
Python 3.12 新特性实战:10个让你代码更优雅的隐藏技巧
前端·人工智能·后端
Victor3561 小时前
Redis(123)Redis在大数据场景下的应用有哪些?
后端
程序员爱钓鱼1 小时前
Python 编程实战 · 实用工具与库 — Flask 基础入门
后端·python·面试