Django views.py 视图函数

Posted 拐弯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django views.py 视图函数相关的知识,希望对你有一定的参考价值。

  • 参数: request 跟请求相关的内容
    request.method 判断请求方式 8种
    GET : 获取一个页面

      POST:       提交数据
    
      PUT :       上传
    
      HEAD:           不用上传就获取数据
    
      DELETE:         删除 Request-URL 标识的
    
      TRACE:          回显服务器收到的请求
    
      OPTIONS:    测试服务器功能是否正常
    
      CONNECT:    将链接改为管道方式
    
    常用 GET  POST 请求
    
      request.POST      form表单提交POST请求传递的数据    获得一个{}   取值方式 []  get()
    
      request.GET         URL地址上的参数   获得一个{}   取值方式 []   get()
    request 相关方法
    request.method -->> 判断请求方式
    request.POST -->> form表单提交POST请求传递的数据 获得一个{} 取值方式 [] get()
    request.GET -->> URL地址上的参数 获得一个{} 取值方式 [] get()
    request.path_info -->> 获取当前请求的路径 不包含参数
    request.get_full_path() -->> 获取当前请求的路径 含参数
    request.get_host() -->> 获取请求主机的 ip地址及端口号
    request.body -->> 请求体 byte类型 request.POST就是从 body 中提取的
    request.COOKIES -->> 获取所有的 cookies 字典形式
    request.META -->> 获取所有的HTTP头部信息 是一个字典
    request.session -->> 获取一个可读又可写 的 类似字典的 对象
    request.is_secure() -->> 判断请求是否安全
    request.is_ajax() -->> 判断是否是 ajax 请求
    request.get_signet_cookies(key,salt=‘盐‘) -->> 获取假眼的 cookies 字典形式
    视图写法
    • FBV (function based view ) 写url和函数的对应关系
      from django.shortcuts import render, redirect, HttpResponse
      def login(request):
      err = ‘‘
      if request.method == ‘POST‘:
      name = request.POST.get(‘name‘)
      pwd = request.POST.get(‘pwd‘)
      if name == ‘root‘ and ‘pwd‘ == ‘123‘:
      return HttpResponse(‘登录成功‘)
      err = ‘账号或密码错误‘
      return render(request,‘login.html‘,{‘err‘:err})
    • CBV (class based view) 写url和类的对应关系
      from django.views import View
      class Index(View):
      # GET 请求
      def get(self, request):
      return render(request,‘index.html‘)
      # POST 请求
      def post(self, request):

              data = request.POST.get(‘data‘)
              print(data)
              return self.get(request)

    返回值
    导入三件套
    from django.shortcuts import render, redirect, HttpResponse, reverse

    redirect(reverse(‘/index/‘)) 重定向  + 反向解析
    
    def login(request):
      return HttpReponse(‘字符串‘)        返回一些字符串  
    
    def regist(request):    
      return  render(request,‘模板的文件名‘,{"data":"name"})      返回一个完整的HTML页面
    
    def index(request):
      return redirect(‘要跳转的地址‘)       重定向    Location : 地址



































以上是关于Django views.py 视图函数的主要内容,如果未能解决你的问题,请参考以下文章

Django views.py 视图函数

一 .Django 视图Django views.py中的 FBV(函数) CBV(类)

Django--视图层(views)

Django视图层(views.py)

Django:视图views

Django框架之---视图