如何使用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 相关文章推荐
wxPython 入门教程
Oct 07 Python
浅析Python基础-流程控制
Mar 18 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
python3操作微信itchat实现发送图片
Feb 24 Python
对python中的pop函数和append函数详解
May 04 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
Python使用pdb调试代码的技巧
May 03 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
python 检测nginx服务邮件报警的脚本
Dec 31 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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防止恶意刷新与刷票的方法
2014/11/21 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
php基础教程
2015/08/26 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
js表单验证实例讲解
2016/03/31 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
django实现前后台交互实例
2017/08/07 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python并发和异步编程实例
2018/11/15 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
夜大自我鉴定
2013/10/31 职场文书
优秀护士获奖感言
2014/02/20 职场文书
大学生交通专业求职信
2014/09/01 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书