Django 表单选择字段的初始值被忽略

2024-01-18

我有这个表格:

class UserUsesSourceForm(forms.Form):
    # some fields here
    username = forms.CharField(label=("Username"), max_length=30, help_text = ("Required"))
    provider = forms.ChoiceField(widget=forms.Select(), choices=SOURCES_CHOICES, initial=SOURCES_CHOICES[1])

可用的选择有:

E = 'e'
A = 'a'
SOURCES_CHOICES = (
                  (A, 'A'),
                  (E, 'E'),
                  )

风景:

form = UserUsesSourceForm(initial={"username":request.user.username, 'provider':SOURCES_CHOICES[1]})return render_to_response('update_datasource.html', context_instance=RequestContext(request, params))

和模板:

<form action="" method="post">
    {% csrf_token %}
    {% if form.non_field_errors %}
    <p>
        {% for error in form.non_field_errors %}
            <div class="text-error">{{ error|escape }}</div>
        {% endfor %}
    </p>
    {% endif %}
    <div class="control-group">

        <label class="control-label" for="id_provider">Data source</label>
        <div class="controls">
            {{form.provider}}
        </div>
                </div>
</form>

问题是,即使初始值设置正确,并且我可以在调试中测试它(即,表单“provider”字段初始值是我想要的元组),最终的html始终显示选择框中的第一个元素:

<select name="provider" id="id_provider">
<option value="A">A</option>
<option value="E">E</option>
</select>

..虽然我希望它有一个“默认”或“活动”选项。 请注意,username字段已正确初始化。 我该如何进一步调查以找出问题出在哪里?


您需要通过option值而不是元组initial data:

form = UserUsesSourceForm(
    initial={'username':request.user.username,
             'provider':SOURCES_CHOICES[1][0]})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 表单选择字段的初始值被忽略 的相关文章

随机推荐

  • Pyarrow s3fs 按时间戳分区

    是否可以在中使用时间戳字段pyarrow表进行分区s3fs文件系统由 YYYY MM DD HH 将镶木地板文件写入时s3 我能够使用 pyarrow write to dataset 函数来实现 该函数允许您指定分区列来创建子目录 Exa
  • “闭包”和“块”到底有什么区别?

    我发现很多人都用这个词closure and block可以互换 这些人中的大多数无法解释他们在说什么 一些 Java 程序员 甚至是来自非常昂贵的咨询公司的程序员 将匿名内部类称为 块 和 闭包 但我知道这不是真的 您不能从定义可变变量的
  • MediaStore 中的 BUCKET_ID 是什么?

    我正在浏览一些查询 MediaStore Images 内容提供程序并使用名为 BUCKET ID 的列的代码 Uri uri MediaStore Images Media EXTERNAL CONTENT URI String proj
  • Java - 实现忙等待机制

    在我的项目中 到目前为止我已经 同步 了多个线程 每个线程都运行相同类型的Runnable 用一个CyclicBarrier http download oracle com javase 6 docs api java util conc
  • 如何在 iPhone 中从左到右设置动画视图?

    如何对从左到右的视图过渡进行动画处理 类似推送视图 当我单击按钮时 视图应该从左向右转换 所以请指导我并提供一些示例链接 Thanks 假设你想从右边推view2来替换view1 Set up view2 view2 frame view1
  • 缩短 NSString?

    我有一个非常简单的问题 是否有内置方法来缩短字符串 如果没有 有人可以提供一个这样做的例子ObjC 例如 这是一个很长的字符串 应该成为 这是AV 它需要检查字符串是否超过一定数量的字符以及是否被缩短 这非常简单 NSString orig
  • 使用行号进行 SQL 逆透视

    我有一个带有 UNPIVOT 的 SELECT 语句 SELECT dycd acnam dycd dynam dycd value FROM GCATT dbo tblDaycode UNPIVOT dycd value FOR dycd
  • 使用多个外部库时如何避免“重新定义”?

    我有两个库 第三方 并且在每个库中它们都定义了两个具有相同名称的类 在头文件中 Lib A HeaderA h struct mycompare Some code Lib B HeaderB h struct mycompare Same
  • Laravel 未发布到 Redis

    我正在尝试在本地 RESTful API 中实现 Redis 发布 该 API 是在 Laravel 中构建的 以便稍后使用 Web Sockets 实现聊天系统 我打算稍后从 Node JS 服务器读取它们 我在用Redis publis
  • Bamboo - Angular 4 应用程序如何部署

    如何在竹子上部署我的 Angular 4 应用程序 我只是做一个简单的工作 1 git 2 npm install 3 ng build 顺利通过了 但是接下来我应该做什么呢 如何将其部署在服务器上 以便我可以从浏览器进入应用程序 我尝试将
  • 使用索引优化MYSQL数据库[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在研究学习商务模拟 http www learnbizsimulations com 一家自筹资金的初创公司 为管理教育领域进行模拟 a 我们的网
  • 应用程序清单文件在 Win 7 环境中导致问题

    我的应用程序已从 net 1 1 升级到 3 5 在 win 7 64 位环境中 我必须手动删除 app exe manifest 文件 否则启动时会崩溃 我使用 Visual Studio 部署和设置项目进行安装 在exe的应用程序设置本
  • 使用 jquery 按值更改/修改下拉列表文本

    我有带有值的下拉列表
  • 如何在 TypeScript 项目中导入节点模块。 ERR_REQUIRE_ESM

    我正在尝试将包 p limit 导入到我的打字稿项目中 当尝试使用运行项目时tsc node serve js 我遇到了下面的错误 我已经被困在这个问题上几个小时了 Error ERR REQUIRE ESM Must use import
  • pm2 可以运行“npm start”脚本吗

    pm2 有没有办法运行 npm start 脚本 或者你只需 要运行pm2 start app js 所以在开发中 npm start 然后在生产中使用 pm2 你会运行类似的东西 pm2 start npm start 有一个等效的方法可
  • android sqlite异常:java.lang.IllegalArgumentException:列'_id'不存在

    我创建了一个包含以下列的 sqlite 数据库 static final String dbName demoDB static final String tableName Employees static final String co
  • MySQL 错误:没有密钥长度的密钥规范

    我有一个主键为 varchar 255 的表 在某些情况下 255 个字符是不够的 我尝试将字段更改为文本 但出现以下错误 BLOB TEXT column message id used in key specification with
  • 如何获取元素的事件监听器

    有没有办法使用 HTML 页面上的 JavaScript 获取该页面上某个元素的所有事件侦听器的列表 注意 我知道我们可以使用 Chrome 开发工具事件侦听器查看它们 但我想使用页面的 JavaScript 来记录 访问查看列表 另外 我
  • 在 WPF 中动态添加网格和控件

    我现在正在制作一个显示系统中硬盘使用情况的应用程序 为此 我想动态生成网格和控件 如进度条和标签 以显示用法 是否有任何 XAML 模板可用于此目的 我使用以下代码在我的代码中动态生成控件 Label drivesLabel Label p
  • Django 表单选择字段的初始值被忽略

    我有这个表格 class UserUsesSourceForm forms Form some fields here username forms CharField label Username max length 30 help t