Dragonboard410c服务器系列五之前后端数据交互

本文介绍Django框架中前后端的数据交互原理与实践,包括前端如何将数据发送到后端,以及后端如何响应前端请求并返回数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.前言:

本系列文章,博主已经给大家介绍了几种python的django架构应用实例,包括web用户注册登陆系统,博客系统,用户视频上传等等,相信有看过博主上传过的实例的童鞋应该会对django简洁实用的代码架构所吸引,今天,我们就来分享下Django架构前后端数据是如何进行交互的。

二.数据交互:

1.概念:在分析数据交互前,首先理解几个重要的概念。

1.1.前端:前端对于网站来说,通常是指,网站的前台部分包括网站的表现层和结构层。因此前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,说白了,就是大家打开网页时看到的交互页面及其显示的一些特效,前台代码实现包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。

1.2.后端:又称为后台,有时也称为网站管理后台,是指用于管理网站前台的一系列操作,如:产品、企业信息的增加、更新、删除等。通过网站管理后台,可以有效的管理网站供浏览者查阅的信息。网站的后台通常需要帐号及密码等信息的登陆验证,登陆信息正确则验证而后进入网站后台的管理界面进行相关的一系列操作,前台完成的是单纯的网页,几乎不具有功能性;后台完成的作品可以称之为网络应用程序,它们可以实现一定的应用功能,也就是说后台人员的工作是编程。从简单的留言板到复杂的论坛,从简单的个人网站系统到复杂的内容管理系统(CMS——Content Management System ),都可以称为网络应用程序。

1.3.HTML:超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

2.数据交互方式:

2.1 后台数据传前端:直接在视图函数(views.py中的函数)中渲染一个 list 或 dict 的内容,和网页其它部分一起显示到网页上(一次性地渲染,还是同一次请求)

view.py

def index(req):
    username = req.COOKIES.get('username','')
    user_list=getAllUser(req)#检索所有拥有username和id的用户对象
    return render_to_response('login_user.html' ,{'user_list': user_list,'username':username})


login_user.html中的部分代码



2.2.前端数据传后台:

前端html中的部分代码:

  • 选择私密对象

  • {% for item in user_list %} {{ item.username }}
    {% endfor %}

后台view.py数据获取代码:

def jsonclient(req):#获取json对象
    try:
        print("start json POST")
        req = json.loads((req.body).decode())
        print("get json succee")
        return req
    except:
        import sys
        info = "%s || %s" % (sys.exc_info()[0], sys.exc_info()[1])
        print(info)

def index(req):
    json=jsonclient(req)#获取json对象
    if json is not None:#判断是选择用户还是选择输入方式
        user_ower = json['ownerID']#获取owerID
        print('json is not none user_ower = ',user_ower)
        #message=Message()#当选择消息接收者时创建消息对象
        response = render_to_response('login_user.html' ,{'user_list':user_list,'username':username,'user_first':user_first},context_instance=RequestContext(req))
        response.set_cookie('ownerID',user_ower,3600)
        return response
    else:
        return render_to_response('login_user.html',req


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值