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

作者:roadwide 时间:2023-07-04 21:47:06 

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主路径和后面的路径合并

来源:https://www.cnblogs.com/roadwide/p/11141521.html

标签:django,mtv,开发模式
0
投稿

猜你喜欢

  • 关于Golang中for-loop与goroutine的问题详解

    2024-04-29 13:03:16
  • MySQL中随机生成固定长度字符串的方法

    2010-12-08 16:25:00
  • 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考

    2024-01-18 11:01:08
  • Python利用PyQT5设置闹钟功能

    2023-05-08 15:34:08
  • Python中docx2txt库的使用说明

    2022-03-23 18:58:46
  • 定位?浮动?自适应?

    2008-06-30 14:20:00
  • 详解JavaScript中的作用域链与闭包

    2024-04-22 13:07:00
  • Python 判断是否为质数或素数的实例

    2023-06-18 15:35:35
  • 关于vue3 vuex4 store的响应式取值问题解决

    2024-05-02 16:32:55
  • Python使用TextRank算法提取关键词

    2021-05-31 07:29:44
  • 一个二级伸缩下拉菜单代码

    2008-06-24 18:12:00
  • 关于Python的一些学习总结

    2022-01-10 11:23:41
  • uniapp使用百度地图的保姆式教学(适合初学者!)

    2024-04-29 14:06:21
  • JS出现失效的情况总结

    2023-08-24 00:44:42
  • 浅谈PHP中的Trait使用方法

    2023-11-08 09:25:33
  • Golang协程池gopool设计与实现

    2024-05-28 15:23:01
  • 用Vue Demi同时支持Vue2和Vue3的方法

    2024-05-13 09:38:35
  • numpy基础教程之np.linalg

    2021-11-10 14:36:43
  • SQLSERVER记录登录用户的登录时间(自写脚本)

    2024-01-27 15:07:24
  • pandas数据集的端到端处理

    2023-01-20 04:48:43
  • asp之家 网络编程 m.aspxhome.com