如何使用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 字符串格式化代码
Mar 17 Python
python paramiko实现ssh远程访问的方法
Dec 03 Python
sublime text 3配置使用python操作方法
Jun 11 Python
Python 12306抢火车票脚本
Feb 07 Python
python自动化生成IOS的图标
Nov 13 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
对python 读取线的shp文件实例详解
Dec 22 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
Python语言进阶知识点总结
May 28 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
详解Python IO编程
Jul 24 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
How do I change MySQL timezone?
2008/03/26 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
windows下python安装pip图文教程
2018/05/25 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
iostream与iostream.h的区别
2015/01/16 面试题
机关门卫制度
2014/02/01 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
房地产端午节活动方案
2014/08/24 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
导游词之吉林吉塔
2019/11/11 职场文书