您的位置:首页 > 编程语言 > Go语言

Django视图View(实验楼学习笔记)

2018-12-07 11:07 232 查看

进入

mysite
文件夹,在终端中输入:

[code]$ cd /home/shiyanlou/Code/mysite
$ python3 manage.py startapp lib

lib的目录如下:

 

 

打开 

lib/views.py
,输入以下代码:

[code]# lib/views.py
from django.http import HttpResponse

def index(request):
return HttpResponse("Hello, world!")

仅编写视图函数,并不能在Django页面上显示出来。如果想要看到效果,我们需要使用URL来映射到它。 

 

 

mysite/lib
目录里新建
urls.py
文件,并输入以下代码:

[code]# lib/urls.py
from django.urls import path
from . import views

urlpatterns = [
path('', views.index, name='index'),
]

这一步我们将应用

lib
里视图函数与URL映射到了一起。

我们来详细讲解一下

path()
函数,它共有4个参数:

参数 意义 是否必须
route route 是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。 必须
view 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。 必须
kwargs 任意个关键字参数可以作为一个字典传递给目标视图函数。 可选
name 为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个 URL 模式。 可选

在上面的代码中,

route
为空意味着我们可以直接用链接
http://localhost:8000/lib/
访问该视图函数,
view=view.index
是调用了
view.py
中的
index
视图,
name
index
代表我们可以在模板中用index来引用返回的变量。

接下来,我们需要向

mysite/mysite/urls.py
告知使用应用
lib
的视图。

输入以下代码:

[code]# mysite/mysite/urls.py
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path('lib/', include('lib.urls')),
path('admin/', admin.site.urls),
]

实现的原理就是使用了

include()
函数,它允许应用其他的URLconfs。

比如使用这个地址进行请求时:

http://localhost:8000/lib/
,首先在
mysite/mysite/urls.py
中会截断与此项匹配的 URL 部分,也就是
lib/
,然后将剩余的字符串发送到 URLconf 以供进一步处理。

 

 

到这里,我们就把index视图添加进了URLconf。

让我们来验证下它是否可以正常工作:

[code]$ python3 manage.py runserver

使用浏览器访问

http://localhost:8000/lib/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: