Django--视图views

1、什么是视图?

  视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中。

  视图函数如图所示:

from django.shortcuts import render, HttpResponse, redirect

# Create your views here.

def index(request):
    import datetime
    now = datetime.datetime.now()
    ctime = now.strftime('%y-%m-%d,%X')
    return render(request, "index.html", {"ctime": ctime})

  如图,index函数就是一个视图函数,他的参数必须有request,必须返回一个HttpResponse对象。视图函数的函数名不需要统一,只需要表达出函数的功能即可。

2、HttpRequest请求对象

  常用方法:

  request.method:输出请求方式

  request.path:输出路径

  request.POST:POST请求数据

  request.GET:get请求数据

  request.META:请求头

  request.get_full_path()拿路径也取参数

3、HttpResponse响应对象

  响应对象主要形式有三种:

  HttpResponse()

  render()

  redirect()

  HttpResponse就是在括号里加上需要响应的字符串即可,这里主要说另外两种。

4、render()

  结合一个给定的模版和上下文字典,返回一个渲染后的HttpResponse对象。

  有两种功能:1、读取文件字符串

  

def index(request):
    
    return render(request, 'index.html'

  2、嵌入变量

  views中的代码如同所示:

def index(request):     
    
    shangping_list = ['苹果', '香蕉', '西瓜']
    name = 'qqq'
    return render(request, 'index.html', {'sp': shangping_list, 'name': name})

  即在后面加上以一个字典

  模版如图所示:

<body>
    用户:{{ name }}
    <h2>商品信息</h2>

<ul>

    {% for foo in sp %}
        <li>{{ foo }}</li>
    {% endfor %}

</ul>


</body>

  这样就可以在页面上通过字典中的键将数据传上来。以及循环取出序列中元素的方法。

  页面如下所示:  

用户:qqq
商品信息
苹果
香蕉
西瓜

  

  

猜你喜欢

转载自www.cnblogs.com/490144243msq/p/11570092.html