首页 > 解决方案 > 如何获取表单中的特定字段?

问题描述

所以我想要做的是,我通过我创建的模型表单从用户那里获得长文本。然后在我的模型中,我想保存文本的第一句话。
为了做到这一点,我相信我必须从表单中获取数据(长文本),并使用一个函数只留下第一句话。但是作为 Django 的初学者,我不知道如何从表单中获取单个字段。所以这是我的代码:

models.py

class InputArticle(models.Model):
    objects = models.Manager()
    authuser = models.ForeignKey(User, on_delete=models.CASCADE, related_name = 'dansang', null=True, default=None)
    title = models.CharField(max_length=100)
    contents = models.TextField(max_length=100000)
    first_sentence = models.CharField(max_length=100)

    def __str__(self):
        return self.title

表格.py

class InputArticleForm(forms.ModelForm):

    class Meta:
        model=InputArticle
        fields=['title', 'contents']

我想稍后在单独的页面中显示标题、内容和第一句。
我非常感谢您的帮助:)

标签: django

解决方案


您可以简单地在您的视图中执行此操作:

if form.is_valid():
    obj = form.save(commit=False)
    obj.contents = obj.contents.split('.')[0] # or whatever way you want to keep only first sentence
    obj.save()

推荐阅读