首页 > 解决方案 > 如何在 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 用于使用非表单数据/原始数据填充表单实例(与如何使用无关)。

标签: djangodjango-forms

解决方案


推荐阅读