我正在开发一个类似于github的项目,但它不是编程,而是与语言学习有关。我使用的后端是Django。
该过程如何运作:
用户A提交帖子 - >其他用户可以看到提交的帖子 - >用户B决定他想要更正用户A的帖子 - >用户B点击用户A的帖子 - >用户A的帖子然后分成单个句子,每个句子是在一个新行 - >用户B决定哪个句子需要修复 - >一旦完成,更改将以绿色突出显示,而删除则被删除。
我当前的模型设置如下:
class Post(models.Model):
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
...
class Corrections(models.Model):
user = models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
text = models.TextField(null=True)
...
句子分裂
我相信我应该使用正则表达式来分割它们以捕获“。” split()?
问题
由于django本身不能这样做,我想我需要一个js库来实现这一点。我没有使用js的经验,所以如果可能的话,你能概述完成这项工作所需的步骤吗?对于初学者来说,这样的事情有多难?会使用这个框架是一个好主意吗?是否有一个我可以用来完成这个的库(我试过搜索,但没有命中)?
感谢您的时间。
如果你可以在后端进行比较,你可以像这里一样使用python difflib:https://stackoverflow.com/a/788780/2099689
在javascript中你可以使用这个库:https://github.com/google/diff-match-patch