微信小程序开发之路(二)Django 框架学习

微信小程序开发之路(二)Django 框架学习模板的应用一
我们使用 django.http.HttpResponse() 来输出 “Hello World!”。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。
为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。
接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 runoob.html文件,整个目录结构如下:

HelloWorld/
|-- HelloWorld
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py
|   |-- urls.pyc
|   |-- views.py
|   |-- views.pyc
|   |-- wsgi.py
|   `-- wsgi.pyc
|-- manage.py
`-- templates
    `-- runoob.html

runoob.html 文件代码如下:
在这里插入图片描述
从模板中我们知道变量使用了双括号。
接下来我们需要向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [os.path.join(BASE_DIR, 'templates')],如下所示:
修改代码
我们现在修改 views.py,增加一个新的对象,用于向模板提交数据:

from django.shortcuts import render
 
def runoob(request):
    context          = {
    
    }
    context['hello'] = 'Hello World!'
    return render(request, 'runoob.html', context)

在这里插入图片描述

from django.urls import path
 
from . import views
 
urlpatterns = [
    path('runoob/', views.runoob),
]

在这里插入图片描述
可以看到,我们这里使用 render 来替代之前使用的 HttpResponse。render 还使用了一个字典 context 作为参数。
context 字典中元素的键值 hello 对应了模板中的变量 { { hello }}。
再次访问 http://127.0.0.1:8000/runoob,可以看到页面:
在这里插入图片描述
说明报错了404,但是为什么呢(有可能是你没保存)
在这里插入图片描述
将路径修改一下,这一句的设置中,这一句话是指到“BASE_DIR/templates”文件夹中去取模板。通过debug跑到settings这句话可以发现BASE_DIR指定的其实是第一层的Hello World文件夹,而templates在第二层Hello World文件夹,所以一直提示错误。注意BASE_DIR是manage.py文件的所在路径.
在这里插入图片描述
在这里插入图片描述
这样我们就完成了使用模板来输出数据,从而实现数据与视图分离。

猜你喜欢

转载自blog.csdn.net/xulei1132562/article/details/113550487