django常用接收,返回方法和反向解析的使用,json返回,获取一键多值,重定向,返回404

27 篇文章 0 订阅
27 篇文章 0 订阅

from django.shortcuts import render,redirect
from django.http import HttpResponse,Http404,HttpResponseNotFound,JsonResponse
from django.core.urlresolvers import reverse

from . models import Users,Stu,StuInfo,ClassInfo,Books,Tags


#返回json数据
def index(request):

    import json
    
    # 响应 模板文件
    # return HttpResponse('hello world')
    # data = {'name':'zahngsan','age':20,'sex':'男'}
    # data = [
    #     {'name':'zahngsan','age':20,'sex':'男'},
    #     {'name':'王五','age':22,'sex':'男'},
    # ]
    

    # 使用python的json 转为json格式再返回
    # content-type: html
    # return HttpResponse(json.dumps(data))

    # 返回json数据  content-type: json 
    # 转序列化的过程,转为json格式,并返回
    # JsonReseponse默认只对字典操作,safe=False设置之后,就可以对其他数据类型操作了,比如列表
    return JsonResponse(data,safe=False)

# 常用的请求,返回方法和反向解析的使用
def viewsdemo(request):
    # 直接返回一个404,没有去加载404的模板页面
    # return HttpResponseNotFound('<h1>Page not found</h1>')

    # 可以直接返回一个status状态码
    # return HttpResponse(status=403)

    # 返回一个404的错误页面
    # raise Http404("Poll does not exist")


    # 重定向 redirect 参数 重定向的url地址
    # return redirect(reverse('ontoone')) 
	
    # context = {'msg':'恭喜注册成功,即将跳转到登录页','u':reverse('ontoone')} 

    # return render(request,'info.html',context) 
# 这个context传输到info页面直接使用 {{ msg  }}  #链接用这个方法接收  <a> href = "{{ u }}"</a>


    # 请求对象  request ==> HttpRequest

    # 获取当前的请求地址 path路径
    # print(request.path)
    # 获取请求方式
    # print(request.method)

    # GET是请求对象的一个属性,但是GET本身也是一个类字典的对象
    # print(request.GET)
    # 获取GET中参数 如果请求不到返回null,第二个参数可以设置默认值
    # print(request.GET.get('a','1'))
	#这个方法,如果是空值会报错,推荐使用上一个方法
    # print(request.GET['a'])

    # POST和GET一样
    return HttpResponse('视图的操作')

# 一键多值的参数请求方式 get和post一样   使用此方法getlist()
def form(request):
    # 判断请求的方式
    if request.method == 'GET':
        # 加载一个表单模板
        return render(request,'form.html')
    else:
        # 接收表单数据
		# 一键多值的方法来接收,get和post接收方法一样
        # print(request.POST.getlist('hobby'))
        #### print(request.GET.getlist('a'))

        return HttpResponse('接收表单数据')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值