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

相关推荐
李慕婉学姐22 分钟前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
小鸡吃米…27 分钟前
Python 列表
开发语言·python
m0_7400437330 分钟前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
星依网络1 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
招风的黑耳2 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~2 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
Miss_Chenzr2 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
期待のcode2 小时前
Springboot核心构建插件
java·spring boot·后端
2501_921649492 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
qq_448011162 小时前
python HTTP请求同时返回为JSON的异常处理
python·http·json