Django 2.1.7 启动与MTV模式解析
198 浏览量
更新于2024-08-30
收藏 119KB PDF 举报
"Python后台开发Django的教程详解(启动)"
Django是Python中的一款强大的Web框架,它遵循MTV(Model-Template-View)设计模式,用于构建高效、可复用的Web应用。MTV模式与传统的MVC(Model-View-Controller)模式类似,但有一些关键的区别:
1. **MVC与MTV的区别**:
- MVC模式中,Controller负责处理用户请求,将数据传递给View进行渲染,并调用Model进行数据操作。
- 在MTV模式中,Controller的概念被替换为View,View不再仅仅负责显示,而是包含了业务逻辑处理。Model依旧负责数据库操作,而Template则专门处理视图模板。
2. **Django的安装**:
安装Django可以通过Python的包管理工具pip,执行`pip3 install django`命令即可。
3. **创建项目**:
在Windows环境下,可以在需要创建项目的文件夹内,通过Shift+鼠标右键打开命令行,然后使用Django的管理命令行工具创建项目。例如,执行`C:\Users\东东\AppData\Local\Programs\Python\Python37\Scripts\django-admin.exe startproject dongjg`创建名为dongjg的项目。
4. **启动服务**:
进入项目目录,运行`python manage.py runserver 0.0.0.0:8000`来启动Django的内置服务器。如果希望外部网络可以访问,需要在项目的settings.py文件中设置`ALLOWED_HOSTS=["*"]`。
5. **访问测试**:
通过浏览器访问`http://127.0.0.1:8000/`,可以测试Django服务器是否正常运行。
6. **工程目录结构**:
Django项目的目录通常包括管理文件、应用、静态文件、模板文件等。一个基本的项目结构可能如下:
- `manage.py`:项目管理脚本,用于执行各种管理任务。
- `settings.py`:项目配置文件,包含数据库连接、中间件、应用列表等配置。
- `urls.py`:定义项目级别的URL路由。
- `wsgi.py`:用于部署到生产环境的WSGI服务器接口。
7. **创建应用**:
使用`python manage.py startapp app_name`命令可以创建新的应用,例如`python manage.py startapp dongapp2`。每个应用有自己的目录结构,包括模型、视图、模板、测试和管理界面。
8. **APP的目录结构**:
- `migrations`:存放数据库迁移文件,记录数据库结构的变化。
- `admin.py`:用于注册模型到Django的后台管理系统。
- `models.py`:定义数据库模型,相当于数据库的表结构。
- `apps.py`:应用配置文件,用于应用的初始化和注册。
- `views.py`:视图函数,处理HTTP请求并返回响应。
- `tests.py`:单元测试代码。
9. **路由与视图**:
在`urls.py`中,通过`path()`或`re_path()`定义URL路由,对应视图函数。例如,`path("dong", homex)`将URL路径'dong'映射到`homex`视图函数。
10. **基础视图函数**(Function-Based View, FBV):
视图函数是一个简单的Python函数,接收HTTP请求并返回响应。在示例中,`homex`函数就是一个基础视图,返回一个包含文本的HTTP响应。
以上就是Django的基本概念、安装、启动、项目创建以及应用创建的简单流程。要深入学习Django,还需要了解模型定义、数据库操作、模板系统、表单处理、用户认证、权限管理、中间件、缓存机制、日志和错误处理等多个方面。Django提供的强大功能和丰富的生态使得它成为Python Web开发的首选框架之一。
151 浏览量
2021-12-30 上传
314 浏览量
点击了解资源详情
点击了解资源详情
131 浏览量
点击了解资源详情
119 浏览量
点击了解资源详情
weixin_38687505
- 粉丝: 10
- 资源: 968
最新资源
- 基于Cordova + Framework7 + React + Webpack构建混合App.zip
- CoronaGame_front
- 无线传感网络节点能耗模型.zip
- 蓝色扁平化商务工作汇报图表下载PPT模板
- ember-bootstrap-controls:一个Ember组件库,它使用Bootstrap4表单并输入样式和html
- PWABuilder-CLI:用于应用程序生成的Node.js工具
- XY轴点焊机_三菱伺服_
- 毕业设计,基于人脸识别的智能家居控制系统.zip
- rust-reference-book:中文版的Rust参考
- assignment-problem:匈牙利方法的分配问题
- 微立体建筑行业工作汇报图表大全PPT模板
- 电脑使用时间管理 ManicTime-4.3.rar
- firebase-firestore-lite:浏览器的轻量级云Firestore库
- bouquins:calibre 电子书管理器的 Web 前端
- MFC中修改Button控件字体、字体大小、背景色、背景图片
- Baymin是一个基于Android系统开发的可以用于语音聊天的智能机器人,它能够陪你聊天,帮你查天气,查路线、车票.zip