day1-Django 视图

1.基础的视图

from django.http import HttpResponse
import datetime

def current_datetime(request):
    now = datetime.datetime.now()
    html = "It is now %s." % now
    return HttpResponse(html)
  • 首先,我们从 django.http 模块导入类 HttpResponse ,以及 Python 的 datetime 库。

  • 然后,我们定义一个名为 current_datetime 的函数。这是一个视图函数。每个视图函数都将 HttpRequest 对象作为第一个参数,通常名为 request 。

    注意视图函数名称无关紧要;它不需要以特定的名称来让 Django 识别它。我们在这里命名 current_datetime ,因为这个名字可以清楚的表示它的用途。

  • 视图返回一个包含生成的响应的 HttpResponse 对象。每个视图函数都要返回 HttpResponse 对象。

 2.根据HttpResponse的子类返回错误信息

from django.http import HttpResponse, HttpResponseNotFound

def my_view(request):
    # ...
    if foo:
        return HttpResponseNotFound('

Page not found

') else: return HttpResponse('

Page was found

')

   这些子类封装了响应的状态码

3.自定义返回的状态码

from django.http import HttpResponse

def my_view(request):
    # ...

    # Return a "created" (201) response code.
    return HttpResponse(status=201)

4.自定义错误页面

  从源码中可以知道 django默认有这四种错误码,所以需要重新指定其所映射的函数.

handler400 = defaults.bad_request
handler403 = defaults.permission_denied
handler404 = defaults.page_not_found
handler500 = defaults.server_error
  •    设置setting.py文件debug=False
  •     定义错误页面的模板文件 404.html、400.html、403.html和500.html
  •     在项目(非子应用)的url.py 文件中配置好 handler对应的视图函数
    from django.conf.urls import handler404
    from child.views import  page_not_found
    #错误页面400
    handler404 = page_not_found
  •     定义错误页面处理视图
    def page_not_found(request,exception):
        return render(request,'404.html')

 同理其他错误处理

你可能感兴趣的:(Django,django,python,后端)