长期任务:做一个在线oj的评测
目录
任务拆分
- 一个html页面,左边是题目,右边是文本框,可以编写代码。右下角有一个“提交”按钮,点击之后将代码发送到后台进行评测。
- 现在已有基于jupyter notebook的评测多个题目的评测代码,需要把它拆分后放在django后台运行。
- 可能需要用到数据库,统一使用的是mysql
3月23日
正在看白月黑羽的django教程,从http协议开始讲的,讲的很全,边看边做任务。
http://www.python3.vip/tut/webdev/django/http/
3月27日
学习内容:
- HTTP协议
明白了浏览器打开网页的大致过程,明白了请求的几种类型get,post等,请求的内容由哪些部分组成,还了解了服务器返回的状态码等 - django安装与运行
django在整个web中的角色是application(应用),如何创建django项目,django项目中包含哪些东西 - url路由
路由是干什么的,如何在django项目中配置路由,当路由过多时,该如何配置 - ORM的概念
django的数据库为什么可以方便更换,这与orm有关。因为orm,不懂数据库的语句也可以对数据库增删改查
4月5日
说实话,有些动力不足。学习之路漫长又曲折,但是无论走得有多慢,都要走下去。这几天学的东西如下:
- 定义数据库表
在models里像定义“类”一样定义数据库字段,这种设计挺巧妙的。 - 创建数据库表
修改settings,告诉django去创建数据库表 - Django Admin管理数据
使用django内置的管理界面 - 读取数据库数据
编写函数,使得浏览器可以使用get请求获取数据库信息 - 过滤条件
在上一步的基础上实现了更高级的功能 - 前后端分离的架构
不使用模板的时候写函数要把数据混在html代码里,使用的“模板”就可以实现前后端分离。明白了“前端”、“后端”、“架构师”之间的关系。还明白了“API接口”到底是什么。
至此,我对web开发的原理越来越明了。但是不具备实操技能,现在让我写代码还是一行也写不出来。继续学习。
4月11日
看到了“数据的增删改查5”的3'58'',“和前端集成”前面。
- json是前端和后端沟通的桥梁
后端把从数据库里查到的东西重构成json格式,前端再将json解析成内容填充到网页里,确实很巧妙啊。
4月17日
这周已经把基础知识学完了,开始着手写代码。但是这周有数学分析期中考试,还有很多杂七杂八的事情,时间都被冲散了,拿不出整体的时间,让我很头疼。
4月22日
有头绪啦,有头绪啦!昨天我写出了第一个评测的代码(虽然非常非常简单)
今天遇到的第一个问题:
如何将在页面上写出来后的code,保留原格式传给后台运行?
李昕老师提示我用富文本框,我打算去看一个bootstrap教程学习。地址如下:https://www.bilibili.com/video/BV1TU4y1p7zU 小姐姐声音很好听。