扫码一下
查看教程更方便
django 视图是一个创建视图的函数,只是一个接受网络请求并返回网络响应的 python 函数。这个响应可以是网页的 html 内容,也可以是重定向,也可以是 404 错误,也可以是 xml 文档,也可以是图片等。
在 django 中,必须在 views.py 文件中创建视图。
我们将在 firstproject 中创建一个简单的视图来展示“欢迎访问迹忆客!”
首先新建 firstproject/views.py 文件,然后在文件中添加如下代码
from django.http import httpresponse
def hello(request):
text = """"""
return httpresponse(text)
接下来,我们需要给该视图定义一个 url ,具体关于 url 映射的细节,我们在下一节 django url 介绍。这里我们先在 urls.py中添加一个 url。代码如下
from django.urls import path
from . import views
urlpatterns = [
path('', views.hello),
]
然后启动服务器,浏览器中访问结果如下图所示
在这个视图中,我们使用 httpresponse 来呈现 html。你可能也已经注意到我们在视图中硬编码了 html。
我们使用 httpresponse 在视图中渲染 html。这不是呈现页面的最佳方式。django 支持 mvt 模式,因此我们可以创建一个模板。下面我们来创建一个模板
firstproject/templates/hello.html
迹忆客
这是使用模板
然后修改我们的视图代码
import os
from pathlib import path
from django.shortcuts import render
def hello(request):
path = os.path.join(path(__file__).resolve().parent, "templates/")
template = path "hello.html"
return render(request, template, {})
修改之后,服务会自动重启,我们只需在浏览器中访问即可
视图既然是一个函数,那么函数肯定是可以接受参数的。所以也可以通过参数给视图传参。
from django.http import httpresponse
def hello(request, web):
text = "参数是:%s
" % web
return httpresponse(text)
然后修改 url,带上参数
from django.urls import path
from . import views
urlpatterns = [
re_path(r'(\w )', views.hello),
]
访问结果如下图
请注意,参数将通过 url 传递。更多关于url的细节内容,我们下一节 django url 介绍。