【愚公系列】2021年12月 Python教学课程 35-Django框架之视图和URL

举报
愚公搬代码 发表于 2021/12/28 00:39:49 2021/12/28
【摘要】 前言一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在...

前言

一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。

响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。

无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。


提示:以下是本篇文章正文内容,下面案例可供参考

一、 定义视图

  • 视图就是一个Python函数,被定义在应用的views.py中.
  • 视图的第一个参数是HttpRequest类型的对象reqeust,包含了所有请求信息.
  • 视图必须返回HttpResponse对象,包含返回给请求者的响应信息.
  • 需要导入HttpResponse模块 :from django.http import HttpResponse
  • 定义视图函数 : 响应字符串index给客户端
from django.shortcuts import render
from django.http import HttpRequest,HttpResponse
# Create your views here.
def index(request):
    return HttpResponse('book-index')

二、配置URLconf

查找视图的过程 :

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

在这里插入图片描述
URLconf入口

"""
DjangoWeb URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/

Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

# Uncomment next two lines to enable admin:
from django.contrib import admin
#from django.urls import path
from django.conf.urls import url, include
urlpatterns = [
    # Uncomment the next line to enable the admin:
    #path('admin/', admin.site.urls)
    url(r'^admin/', admin.site.urls),
    url(r'^',include('book.urls'))
]

在子应用中添加urls.py

from django.conf.urls import url
from book.views import index
urlpatterns = [
    #index/
    # url的第一参数是:正则
    # url的第二参数是:视图函数名
    #pay/order/
    url(r'^index/$',index),
]

url匹配过程
在这里插入图片描述

三、请求访问

在这里插入图片描述

总结

视图处理过程如下图:在这里插入图片描述
使用视图时需要进行两步操作,两步操作不分先后

  • 配置URLconf
  • 在应用/views.py中定义视图
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。