文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Django如何获取前端数据

2023-07-05 04:54

关注

这篇文章主要介绍“Django如何获取前端数据”,在日常操作中,相信很多人在Django如何获取前端数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django如何获取前端数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Django获取前端传输的数据的几种方式

获取拼接在url上的数据

class UrlData(View):    def get(self, request):    # request的GET方法获取拼接在url上数据的对象        dict1 = request.GET        # get方法根据key取value        name = dict1.get('name')        age = dict1.get('age')        return HttpResponse('get--{}--{}'.format(name, age))

测试

Django如何获取前端数据

获取post请求提交的表单数据

    def post(self, request):    # request的POST方法获取表单数据对象        dict1 = request.POST        # 同样是get获取数据        name = dict1.get('name')        age = dict1.get('age')        return HttpResponse('post--{}--{}'.format(name, age))

postman测试

Django如何获取前端数据

获取json数据

class JsonData(View):    def post(self, request):    # request的body方法获取的是所有请求体的二进制数据        json_body = request.body        print(json_body)# 把请求体的二进制数据转换为json格式        json_data = json.loads(json_body)#get方法键值对方式获取值        name = json_data.get('name')        age = json_data.get('age')        gender = json_data.get('gender')        return HttpResponse('name: {},age: {}, gender: {}'.format(name, age, gender))

打印台结果

Django如何获取前端数据

测试

Django如何获取前端数据

提取路径数据

class LuJData(View):""" 多传一个变量age """    def get(self, request, age):        return HttpResponse('age: {}'.format(age))

注册视图时代码

注意: 注册时使用的转换器里的变量名要 和 视图里获取数据的变量名的一致

urlpatterns = [    path('users/urldata/', views.UrlData.as_view()),    path('users/jsondata/', views.JsonData.as_view()),    # 使用int转换器  <转换器: 变量名>      # 变量名要和视图函数添加的那个变量一样的名字    path('users/lujdata/<int:age>/', views.LuJData.as_view()),]

测试

Django如何获取前端数据

自定义转换器

当匹配url数据的时候有要求就可以使用自定义转换器

工程目录添加converters.py文件

Django如何获取前端数据

自定义转换器内容

class MobileConverter:# regex是正则表达式    regex = '1[3-9]\d{9}'# 模仿Django自带转换器    def to_python(self, value):        return int(value)    def to_url(self, value):        return str(value)

在工程目录的urls.py文件中注册转换器

# 参数1 为自定义转换器类 参数2 起了一个别名register_converter(MobileConverter, 'mobile')

注册视图函数时使用自定义转换器

urlpatterns = [    path('users/urldata/', views.UrlData.as_view()),    path('users/jsondata/', views.JsonData.as_view()),    # 使用自定义转换器    path('users/lujdata/<mobile:age>/', views.LuJData.as_view()),]

测试

Django如何获取前端数据

re_path匹配视图时直接写正则

Django如何获取前端数据

如何从前端获取数据,post到后台,再入数据库呢

首先,从前端获取值。这里需要你自己去掌握怎么取,我只是总结一下我这个过程!下边我是想能同时上传多个文件,所以才嵌套的循环。

Django如何获取前端数据

然后,根据对应的url,找到相关的model(这里,需要了解好你的数据库属性)。比如,这里是我想入库的model:

Django如何获取前端数据

好了,看完这个,我们去前端所post到的assign(),这里我们需要掌握一下

Django如何获取前端数据

# 筛选条件:name和task_tags,所以不能用get(),而是用filter()condition_filter = {'task_tags':task_id, 'name':file_name} # 得到一个Querysettestrawdata_Qset = TestRawData.objects.using('oracle').filter(**condition_filter) # 获得Queryset的值(这里我需要的是id)for testrawdata in testrawdata_Qset:    data_id = testrawdata.id

get_or_create()就是入库了,看看入库结果(成功!):

Django如何获取前端数据

到此,关于“Django如何获取前端数据”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯