django - 如何在 django 表单对象中传递非表单数据?
问题描述
我有一个数据字典,想要验证和清理该数据以存储在 models.py 中定义的数据库表中
我的方法是创建一个表单类,然后创建该表单类的一个实例,并在 view.py 中传递数据字典而不是 request.POST。
但这不起作用。没有错误,但cleaned_data 返回一个空字典。
data = {
'story_title': i.title.text,
'story_source': Sources.objects.get(source_url= source_url),
'pub_date': i.pubDate.text[5:16],
'body_text': des,
'url': i.link.text
}
story_form = StoryForm(data)
if story_form.is_valid():
story_data = story_form.cleaned_data
new_story = Stories(
story_title = story_data['story_title'],
story_source = story_data['story_source'],
pub_date = story_data['pub_date'],
body_text = story_data['body_text'],
url = story_data['url']
)
new_story.save()
我不确定我的方法是对还是错。在寻找解决方案时,我在 Django 文档中遇到了 HttpRequest.body,它只说 HttpRequest.body 用于使用非表单数据/原始数据填充表单实例(与如何使用无关)。
解决方案
推荐阅读
- c++ - C ++中的枚举与原始值?
- android - 如何修复“NavHostFragment 的后退堆栈上的无效后退堆栈条目”?
- python - OpenCV解码JPEG返回嘈杂的图像
- javascript - 使用 vb-modal 指令和 @click 的 Bootstrap-vue 问题
- kubernetes - 当我运行 sudo minikube start --vm-driver=none 它给我错误
- r - 获取 Rstudio Server 的 IP 地址和端口
- javascript - 如何延迟发送动作(去抖动)
- python - 在 python blender (bpy) 中列出每个面的顶点
- android - 如何在kotlin中自动隐藏键盘?
- angular - 如何以角度在表单字段中给出固定文本?