django - 如何获取表单中的特定字段?
问题描述
所以我想要做的是,我通过我创建的模型表单从用户那里获得长文本。然后在我的模型中,我想保存文本的第一句话。
为了做到这一点,我相信我必须从表单中获取数据(长文本),并使用一个函数只留下第一句话。但是作为 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']
我想稍后在单独的页面中显示标题、内容和第一句。
我非常感谢您的帮助:)
解决方案
您可以简单地在您的视图中执行此操作:
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()
推荐阅读
- dependency-injection - 在视图模型中调用异步方法时,Simple Injector 在 Caliburn.Micro Bootstrapper.Buildup 中引发错误
- pytorch - 增强如何增加图像数量
- netlogo - NetLogo 重定向链接
- azure-devops - 如何将 ansible stdout/stderr 重定向到 Azure 管道日志记录命令
- asp.net - 如何在 ASP.NET Web 应用程序中禁用单个 aspx 页面?
- google-cloud-platform - 无法 ssh 到从 OVa 创建的谷歌云实例
- python - py.stackplot 在同一情节上的两个不同图例
- neo4j - NEO4j中匹配3个条件的AND子句
- reactjs - 我的 logstash 卡在了成功启动的 Logstash API 端点 {:port=>9600}
- java - 使用对象包装器在springboot中请求正文多个参数不起作用