栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django之视图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django之视图

通过之前学习的内容先创建一个项目webtest以及book应用进行下面说明。

视图是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。使用视图,主要在定义视图、配置URL两方面进行操作。

1.使用视图的过程

(1)定义视图

         首先,在webtest/book/views.py文件中定义一个视图函数;

from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request,"book/index.html")

         接着在templates/book文件夹中创建一个index.html页面;




    
    Title


    Django之视图

(2)配置URL

         接下来配置URL,在主路由进行配置进入分路由,将视图函数和url对应起来;

# webtest/urls.py
from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^book/', include("book.urls")),
]

         在book目录下创建urls.py文件并编写如下代码:

from django.conf.urls import url
from .views import *

urlpatterns = [
    url(r"^index",index), 
]

         效果如下:

         

 

2.获取值--URL传参

获取值需要在正则表达式中使用小括号表示,分别有以下两种方式完成,注意两种方式不能混合使用,一个正则表达式中只能使用一种参数方式;

   先打开book/urls.py文件添加如下代码,定义url;

    url(r"^show$",show),

   在book/views.py中创建视图函数show();

def show(request):
    return HttpResponse("/book/show")

(1)位置参数

         为了提取参数值,先修改上述的正则表达式;

    url(r"^show(d+)$",show),

         并且修改视图函数show();

def show(request,id):
    return HttpResponse("show 参数值:%s"%id)

完成上述操作后,效果如下:(地址栏中的参数值可以任意选择,再次刷新页面呈现的效果不同)

      

 (2)关键字参数

          这里的正则表达式部分修改为组命名;

    url(r"^show(?Pd+)$",show),

          修改视图show()函数,注意必须要有参数名为bid;

def show(request,bid):
    return HttpResponse("显示关键字参数值:%s"%bid)

          效果如下:

         

3.错误视图

下面编写两个错误视图,404视图、500视图进行说明,来掌握这一知识点。

(1)404错误

          首先,我们需要将settings.py文件中的DEBUG变量进行修改,将True改成False,这里还需            要对ALLOWED_HOSTS进行修改,允许所有错误URL能报错404;

DEBUG = False

ALLOWED_HOSTS = ['*']

          到这里,我们所要的效果便出来了,若是输入错误URL会直接显示Django提供的默认404页            面,我们也可以自己创建一个404页面,但是文件命名必须是404.html;

          在templates文件下创建404.html;




    
    404错误页面


    404 错误页面显示
    

错误地址:{{request_path}}

          效果如下:

           

(2)500错误

         500错误页面也是Django框架有默认提供的页面,这里也可以自己编写,如404错误所示;

# 500错误页面



    
    500错误页面


    服务器端错误:500

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664526.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号