如何使用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 相关文章推荐
Python中用于检查英文字母大写的isupper()方法
May 19 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python内置模块turtle绘图详解
Dec 09 Python
python的re正则表达式实例代码
Jan 24 Python
Python函数参数操作详解
Aug 03 Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
python训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
Python安装Flask环境及简单应用示例
May 03 Python
关于django 1.10 CSRF验证失败的解决方法
Aug 31 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
Python 测试框架unittest和pytest的优劣
Sep 26 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 使用post,get的一种简洁方式
2010/04/25 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
python字典快速保存于读取的方法
2018/03/23 Python
python读取文本中的坐标方法
2018/10/14 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
十佳青年个人事迹材料
2014/01/28 职场文书
会计学自我鉴定
2014/02/06 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python