如何使用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的Django框架中的URL配置与松耦合
Jul 15 Python
Python二分查找详解
Sep 13 Python
Python优化技巧之利用ctypes提高执行速度
Sep 11 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
Python之web模板应用
Dec 26 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Python绘制动态水球图过程详解
Jun 03 Python
Python新手学习装饰器
Jun 04 Python
Python爬虫之Selenium实现关闭浏览器
Dec 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
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
php实现简单加入购物车功能
2017/03/07 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
python错误处理详解
2014/09/28 Python
Python运用于数据分析的简单教程
2015/03/27 Python
python单例模式实例分析
2015/04/08 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
深入浅析python继承问题
2016/05/29 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
Python实现验证码识别
2020/06/15 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
门卫工作岗位职责
2013/12/17 职场文书
前台文员岗位职责
2013/12/28 职场文书
小学清明节活动方案
2014/03/08 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
MySQL数据库必备之条件查询语句
2021/10/15 MySQL