前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2021年12月 Python教学课程 35-Django框架之视图和URL

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

作者头像
愚公搬代码
发布2022-12-01 09:57:16
3910
发布2022-12-01 09:57:16
举报
文章被收录于专栏:历史专栏

文章目录


前言

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

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

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


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

一、 定义视图

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

二、配置URLconf

查找视图的过程 :

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

URLconf入口

代码语言:javascript
复制
"""
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

代码语言:javascript
复制
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中定义视图
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、 定义视图
  • 二、配置URLconf
  • 三、请求访问
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档