Py学习  »  Git

如何将文本分解成单独的新行,以便其他用户可以编辑并突出显示这些编辑(类似于github)?

Mike • 4 年前 • 860 次点击  

我正在做一个类似于 github ,但它与语言学习无关。我使用的后端是django。

流程将如何工作:

用户A提交帖子->其他用户可以看到提交的帖子->用户B 决定要更正用户A的帖子->用户B单击用户A的 post->然后将用户A的帖子分解为单个句子 如果每个句子位于新行->用户B决定哪个句子 需要修复->完成后,更改将以绿色突出显示,而 删除被删除。

它类似于这样的东西: enter image description here

我当前的模型是这样设置的:

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)
     ...

分句

我相信我应该使用regex来分割它们来捕获“.then split()?

问题

由于django不能在本机上这样做,我想我需要一个js库来实现这一点。我没有使用js的经验,所以如果可能的话,你能概述一下实现这一点所需的步骤吗?对于初学者来说,这样的事情有多困难?使用一个框架来解决这个问题是个好主意吗?有没有一个库可以用来完成这个任务(我试过搜索,但没有找到)?

谢谢你抽出时间。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44214
 
860 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Frederik Højlund
Reply   •   1 楼
Frederik Højlund    5 年前

如果可以在后端进行比较,可以使用python difflib,如下所示: https://stackoverflow.com/a/788780/2099689

在javascript中,您可以使用这个库: https://github.com/google/diff-match-patch