如何使用django的MTV开发模式返回一个网页


Posted in Python onJuly 22, 2019

1.MTV开发模式介绍

M:Models 模型(数据)

与数据组织相关的功能。组织和存储数据的方法和模式,与数据模型相关的操作。

T:Templates 模板(样式)

与表现相关的所有功能。页面展示风格和方式,与具体数据分离,用于定义表现风格。

V:Views 视图(处理)

针对请求选取数据的功能。选择哪些数据用于展示,指定显示模板,每个URL对应一个回调函数。

如何使用django的MTV开发模式返回一个网页

2.新建一个应用
在django最快程序开发流程上继续改进。

python manage.py startapp hello2app

3.修改hello2app
hello2app中的views.py代码如下

from django.shortcuts import render

# Create your views here.
def hello(request):
  return render(request,"hello.html")

其中的render()是一个打包函数,第一个参数是request,第二个参数是页面。

还需要在hello2app中增加一个templates文件夹,并在文件夹内放入模板文件,此处为hello.html

4.增加本地路由

所谓本地路由,就是在这个应用内的路由文件。在hello2app中新增urls.py,代码如下

from django.urls import path
from . import views##引入第3步写的views.py

urlpatterns=[
  path('',views.hello)
##本地路由的函数调用
]

啧,写这一步还踩了个坑。打字老是把字母顺序打反,之前也有这样的经历,看了半天不知道哪错了。最后才发现把from打成form了,唉

5.增加对本地路由的引用

在全局路由文件中增加对本地应用路由的引用。修改mysite\mysite\urls.py文件为如下内容

from django.contrib import admin
from django.urls import path,include##include函数,用于引入其他路由文件
from helloapp import views

urlpatterns = [
  path('index2/',include('hello2app.urls')),
##将hello2app的局部路由增加到全局路由中
  path('index/',views.hello),
  path('admin/', admin.site.urls),
]

6.设置模板路径

修改mysite\mysite\settings.py。修改其中的TEMPLATES = []。将DIRS中增加templates目录

'DIRS': [os.path.join(BASE_DIR,'hello2app/templates')],##将BASE_DIR主路径和后面的路径合并

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
Python生成不重复随机值的方法
May 11 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
python 定时修改数据库的示例代码
Apr 08 Python
Pandas:DataFrame对象的基础操作方法
Jun 07 Python
python实现Virginia无密钥解密
Mar 20 Python
感知器基础原理及python实现过程详解
Sep 30 Python
python如何把字符串类型list转换成list
Feb 18 Python
Python3开发环境搭建详细教程
Jun 18 Python
python dict如何定义
Sep 02 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 Python
python3.7 sys模块的具体使用
Jul 22 #Python
使用 Python 处理 JSON 格式的数据
Jul 22 #Python
用python写一个定时提醒程序的实现代码
Jul 22 #Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 #Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 #Python
Python定时任务APScheduler的实例实例详解
Jul 22 #Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 #Python
You might like
PHP与MySQL开发中页面乱码的产生与解决
2008/03/27 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
JavaScript中的this实例分析
2011/04/28 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
python中json格式数据输出的简单实现方法
2016/10/31 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
python 批量将中文名转换为拼音
2021/02/07 Python
C,C++的几个面试题小集
2013/07/13 面试题
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
汽车专业毕业生推荐信
2013/11/12 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
2014年计生协会工作总结
2014/11/21 职场文书