python 尝试在Django中调试动态表单-记录SQL

fykwrbwg  于 2023-05-16  发布在  Python
关注(0)|答案(1)|浏览(116)

背景:我最近在工作中承担了Web开发的责任。我还不是100%熟悉Django或我们的代码库。
我们的员工内部网有各种事故报告的动态表格。我们有一个功能完善的非员工事故报告,以及一个目前无法正常工作的员工事故表。代码几乎是相同的,只是每个字段有几个不同。提交表单后,页面将提供您输入的待批准发布的信息摘要。这对非雇员窗体有效,但对雇员窗体无效。当我提交被窃听的表单时,表单数据存在于有效负载中,并且post请求返回200响应。在这一点上,我们认为这是一个数据库问题,但没有实现任何调试。
我们试图实现一些调试,但我不能得到任何显示在控制台,虽然我认为我很困惑。
重要提示:我们正在使用一个超级过时的django版本:1.11
这是我在www.example.com文件中的内容settings.py。我在网上找到和阅读的所有内容都说这应该将SQL语句打印到控制台。但我不确定我是否需要在其他地方添加一些东西。

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue'
        },
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        'django.db.backends': {
            'level': 'DEBUG',
            'handlers': ['console'],
        },
    }
}

是否需要在实际处理表单的views.py文件中添加一些内容?

2vuwiymt

2vuwiymt1#

如果这两个表单都存在于一个html模板中,那么请确保更改它们的输入id和名称,并按照您所说的进行测试,表单数据存在于有效负载中,因此您可以查看表单post端点并打印您获得的表单数据
最坏的情况是,Db模式与表单模式不匹配,因此也要检查一下
你可以使用类似Django工具栏Link的东西来进一步调试

相关问题