Django的视图函数中一些没有用过的小点

1、request对象

    print("返回用户访问的url,但是不包括域名",request.path_info)
    print("返回请求的方法,全大写",request.method)
    print("返回HTTPde GET参数的类的字典对象",request.GET)
    print("返回HTTPde POST参数的类的字典对象", request.POST)
    print("请求体",request.body)

  

结果如下:

2、form上传文件

首先看下form表单该如何写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post" action="/app1/upload/" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="file" placeholder="上传文件" name="file">
    <input type="submit" value="提交">

</form>
</body>
</html>

  

重点是这里

然后看下后端视图函数,用request.FILES方法获取上传的文件的对象

def upload(request):
    method = request.method.lower()
    if method == "get":
        return render(request,"upload.html")
    else:
        # print(dir(request))

        file_name = request.FILES["file"].name

        name = request.FILES.get("file").name
        size = request.FILES.get("file").size
        print("---------->",dir(request.FILES.get("file")))
        print(name,size)
        import os
        new_file_path = os.path.join("static","upload",name)
        with open(new_file_path,"wb") as f:
            for chunks in request.FILES.get("file").chunks():
                f.write(chunks)

        return HttpResponse(file_name)

  

3、视图函数返回json字符串的三种方法

def js(request):
    ret = {"name":"xiaocui","age":23}

    # 视图函数返回json字符串,有下面三种方法

    # 方法1
    import json

    return HttpResponse(json.dumps(ret))

    # 方法2

    from django.http import JsonResponse
    return JsonResponse(ret)

    # 默认情况下JsonResponse只能转换字典为js的字符串,如果是列表是转换不成jsson的字符串d的,如果要转换列表为js字符串则使用下面的方法

    # 方法3
    from django.http import JsonResponse
    return JsonResponse(ret,safe=False)

    # 告诉JsonResponse不要为我做安全监察

  

原文地址:https://www.cnblogs.com/bainianminguo/p/9649453.html

时间: 2024-08-30 01:03:22

Django的视图函数中一些没有用过的小点的相关文章

Django之视图函数总结

Django之视图函数总结 HttpRequest与HttpResponse http请求中产生两个核心对象: HttpRequest对象:用户请求相关的所有信息(对象) HttpResponse对象:响应字符串 HttpRequest对象的属性和方法: request.path # 获取访问文件路径 request.method #获取请求中使用的HTTP方式(POST/GET) request.body #含所有请求体信息 是bytes类型 request.GET #GET请求的数据(类字典

Django中非视图函数获取用户对象

今天遇到了一个问题:在Django中怎么从非视图函数中获取用户对象?怎么保证不同的请求获取到不同的用户对象? 平常我们获取用户对象使用的是: request.user 不得不说,这确实很方便. 但是,如果现在有两个类: # 注意,这两个类可以不在同一个py文件中 # 视图类 class Index(View): """ 功能集中调用 """ def post(self, request): return HttpResponse('你好!') #

Django 定义视图函数

Django 定义视图函数 视图函数主要在Django项目内app下的 views.py 文件内定义 # 调用模块方法 from django.shortcuts import render,HttpResponse,redirect def func() # 包含所有的请求数据 .... # 返回字符串内容 return HttpRespon('字符串') # 返回数据 render(request,'模板路径') 返回html模板内容 return render(request,'index

django之视图函数

视图函数接收Web请求并返回Web响应. 请求对象 urls.py from django.urls import path,re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), re_path(r'index/',views.index), re_path(r'^$',views.index) ] views.py from django.shortcuts import render,

视图函数中进行sql查询

import pymysql # 创建连接 use_unicode=true指定字符的编码.解码格式,进行自动编码解码,mysql数据库的编码格式为gbk,而项目数据库为utf-8# 使用与django和falsk框架 db=pymysql.connect(host='127.0.0.1',user='root',password='',port=3306,database='t1',charset='utf8',use_unicode=True) def func(): sql='select

django之视图函数的介绍

request-path 路径 request.get_full_path() 路径+数据 render(request,"html") 推荐 render_to_response("html") 有时会出现意想不到的bug locals() 局部变量全部传给模板 redirect("路径") 页面跳转 redirect() 跳转 render() 不跳转 原文地址:https://www.cnblogs.com/jintian/p/111355

Django路由配置系统、视图函数

URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. ''' urlpatterns = [ url(正则表达式, views视图函数,参数,别名),] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 ''' 1.UR

Django之views视图函数

views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中会默认传到views函数中作为第一个参数 HttpRequest的属性: 属性 说明 path 请求页面的全路径,不包括域名 method 请求中使用的HTTP方法 GET 包含所有HTTP GET参数的类字典对象 POST 包含所有HTTP POST参数的类字典对象 REQUEST 该属性是POS

Django基础三之视图函数

Django基础三之视图函数 本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Django的视图函数view 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项