美文网首页
04.创建视图

04.创建视图

作者: __深蓝__ | 来源:发表于2019-03-07 10:15 被阅读0次
  • 通过之前后台管理页面,当我们在浏览器中输入 http://127.0.0.1:8000/admin/ 之后,浏览器显示出了后台管理的登录页面,服务器是怎么给我们找到这个页面并返回呢?
  • /admin/是我们想要请求的页面,服务器在收到这个请求之后,就一定对应着一个处理动作,这个处理动作帮我们产生页面内容并返回回来,这个过程是由视图来完成。
  • 在django的MVT设计框架中,用户在URL中请求的是视图,视图接收请求后进行处理,并将处理的结果返回给请求者。

视图操作步骤:

  • 定义视图处理函数
  • 配置URL路由

定义视图处理函数

视图对应一个Python函数,被定义在views.py中。

视图的必须有一个参数,一般叫request,视图必须返回HttpResponse对象,HttpResponse中的参数内容会显示在浏览器的页面上。

打开app的views.py文件,定义视图处理函数index

from django.http import HttpResponse

def index(request):
    return HttpResponse('<h1>index</h1>')

配置URL路由

打开项目的urls.py文件,为index视图增加URL路由:

一条URL路由包括:url规则视图处理函数两部分:

  • url规则通常使用正则表达式定义。
  • 视图处理函数在views.py中定义。
from django.conf.urls import url
from django.contrib import admin
from django.urls import path

from app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    url('index', views.index),  # index对应的URL路由
]

启动Django服务,查看运行效果

查找视图的过程

请求者在浏览器地址栏中输入url,请求到网站后,获取url信息,然后与编写好的URL逐条匹配,如果匹配成功则调用对应的视图函数,如果所有的URL都没有匹配成功,则返回404错误。

工程实践

通常将一个app中的URL路由都放在一个文件中,并在项目的urls.py中包含该路由文件

  • 在app中新建urls.py文件,编码如下:
from django.conf.urls import url

from app import views

urlpatterns = [
    url('index', views.index),
]
  • 将app的urls.py加到项目的urls.py
from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include

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

启动Django服务,查看运行效果

注意:增加了一层路由,url的输入也要随之变化
http://127.0.0.1:8000/app/index




- end -

相关文章

网友评论

      本文标题:04.创建视图

      本文链接:https://www.haomeiwen.com/subject/spiguqtx.html