【问题标题】:Hardcoded Input field is not send in Django Form硬编码的输入字段未在 Django 表单中发送
【发布时间】:2016-03-08 21:01:14
【问题描述】:

我希望有一个简单的问题。我在我的页面中对<form></form> 之间的输入字段进行了硬编码。我正在使用bootstrap toggle

<input class="form-control" id="dividend-yield-enabled" name="dividend-yield-enabled"
    data-size="mini" data-toggle="toggle" data-on="Enabled" data-off="Disabled"
    type="checkbox" data-onstyle="default"
    {% if suggestion.dividend_yield_influence != 0 %}checked{% endif %}/>

但我在views.py 文件中看不到这个字段。我正在直接打印 POST 请求:print request.POST,我看不到上述字段。还有所有其他输入字段,但缺少此 Bootstrap Toogle。我错过了什么?为什么不与其他表单字段一起发送?


EDIT1:
这是我的看法:

@login_required(login_url='/accounts/login/')
def screener(request):
    if request.method == 'POST':
        print request.POST

这是我的html。 我在request.POST 中缺少dividend-yield-enabled,这就是我现在看到的:

<QueryDict: {u'payout-ratio-influence': [u'3'], u'dgr5-influence': [u'1'], u'dividend-yield': [u'0,5'], u'payout-ratio': [u'0,60'], u'dgr3-influence': [u'1'], u'lists': [u'5', u'6', u'7'], u'dgr5': [u'0,20'], u'dividend-yield-influence': [u'5'], u'dgr3': [u'0,20'], u'category-influence': [u'1'], u'csrfmiddlewaretoken': [u'5bEpa2lkmW2qiOnPZtEkHQIkyKYRbVL6']}>

【问题讨论】:

  • 请向我们展示您的views.py。同时显示整个表单 html。
  • @ShangWang 嗨,添加为 EDIT1
  • 我很确定这与 django 无关,因为它不会以任何方式过滤 POST 数据。您可以使用浏览器进行调试以确保将数据发送到服务器吗?
  • 如何在浏览器中查看发送的表单数据?嗯,我发现了我的问题。感谢 cmets。

标签: django forms django-forms


【解决方案1】:

我终于发现了问题所在。我之前可能会想到,我使用的是未经测试/旧的中间件。我使用了Strip Whitespace Middleware,因为我的模板生成了太多的空白行。取消注释中间件u'dividend-yield-enabled': [u'on'] 后出现在表单数据中。再次感谢 cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2016-09-18
    • 2016-10-31
    • 2014-01-05
    相关资源
    最近更新 更多