目录

长期任务:做一个在线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 小姐姐声音很好听。