初学GET-POST请求

get-post请求方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
    print(request.method)#获取请求方式
    print(request.encoding)#获取请求编码
    print(request.path)# 获取请求路径
    return HttpResponse('操作成功')

def get_test(request):
    if request.method=='GET':
        return render(request,'get_post/get_post_test.html');
    elif request.method=='POST':
        a=request.POST.get('a');
        b=request.POST.get('b');
        print(a,b);
        return HttpResponse('操作成功')
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="GET>
    {% csrf_token %}
{#  防止跨域请求#}
    <input type='text' name="a">
    <input type="text" name="b">
    <input type="submit" value="提交">
</form>
</body>
</html>

类视图

在这里插入图片描述

类视图就是在传送hhtp请求时候,可以不用使用判断语句来选择是什么请求方式,而是通过类中的方法自动判断是什么方式,从而做出相应的操作。

from django.views import View
class Blogadd(View):
    def get(self,request):
        return render(request, 'blog/demo_add.html')

    def post(self,request):
        title = request.POST.get('title');
        content = request.POST.get('content');
        # 存入数据库
        blog = BlogModel(title=title, content=content)
        blog.save();
        return render(request, 'blog/demo_add.html')

class BlogUpdate(View):
    def get(self, request,blog_id):
        blog=BlogModel.objects.get(id=blog_id);
        return render(request, 'blog/demo_update.html', context={'blog': blog});

    def post(self, request,blog_id):
        blog = BlogModel.objects.get(id=blog_id);
        blog.title = request.POST.get('title')
        blog.content = request.POST.get('content')
        blog.save()
        return redirect(reverse('blog_list'))

上述是博客的一个简单的类视图的增减和修改的方法。

上传实现:

在这里插入图片描述
在这里插入图片描述

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="file" name="file"><br>请选择相应的图片
    <input type="submit" value="上传">
</form>
</body>
</html>
import os
from mysite.settings import MEDIA_ROOT
class Upload(View):
    def get(self,request):
        return render(request,'get_post/file.html');

    def post(self,request):
        f1=request.FILES.get('file')
        # print(f1,f1.name);
        f_name=os.path.join(MEDIA_ROOT,f1.name);
        with open(f_name,'wb') as f:
            for i in f1.chunks():
                f.write(i)
        return HttpResponse('操作成功')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值