【问题标题】:dropdown menu html code with select options from django带有来自 django 的选择选项的下拉菜单 html 代码
【发布时间】:2013-02-24 03:19:33
【问题描述】:

我的 HTML 代码如下:

<select name="txn" tabindex="3" id="txn" class="fixed" onfocus="highlightInput(this.id)" onblur="unhighlightInput(this.id)">
    <option value="RR" my="{{txn|genselected:"RR"|safe}>RR</option>
    <option value="CR" my="{{txn|genselected:"CR"|safe}}">CR</option>
    <option value="SR" my="{{txn|genselected:"SR"|safe}}">SR</option>
    <option value="OR" my="{{txn|genselected:"OR"|safe}}">OR</option>
</select>

txn 在 forms.py 中定义为:

txn = forms.ChoiceField(label="txn", Choices = it_const.TXN),

我的问题: 选项值在数据库中动态增加?我想从数据库中读取选项值并将它们放在 html 的下拉菜单中。能否请您帮助我编写 HTML 代码以及如何从 txn 表单字段中读取选项并将其显示在菜单选项中。

提前致谢。

【问题讨论】:

    标签: html django drop-down-menu


    【解决方案1】:

    观看次数

    def view_name(request):
        form = OptionForm()
        options = Option.objects.filter()
        return render(request, 'page.html', {
            'form': form, 
            'options': options,
        })
    

    html

    <form method="post">
        {% csrf_token %}    
        {{form}}
        <input type="submit" value="Submit">
    </form>
    
    {% for option in options %}
    <p>{{option.field}}</p>
    {% endfor %}
    

    【讨论】:

    • 这不在 select->option 作为问题。如何不渲染

      而是渲染

    【解决方案2】:

    您可以在视图文件中检索数据库值,然后将它们添加到数组中,然后将数组呈现为表单字段的选项。

    TXN_choices = Options.objects.all()
    
    #and then run a for loop to dynamically generate the options array:
    TXN = (
            ('x', 'xxx'),
            ('y', 'yyyy'),
        )
    
    and then render the ModelForm.
    

    【讨论】:

    • 谢谢。感谢您的回复。我现在在 html 中看到 TXN(TXN 填充在视图中)。我在 html 代码中使用 {{TXN}} 打印它及其打印 (('x', 'xxx'), ('y', 'yyy'))... 我如何在下拉选项中填充这些值?
    • 不要将 TXN 变量直接发送到 HTML 响应。如果您的模型形式,则在定义上方填充此 TXN 变量,仅此而已。在运行时,它将直接填充 models.py/forms.py 中的 TXN,并在渲染时使用这些值。
    猜你喜欢
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2016-01-10
    • 1970-01-01
    • 2018-12-21
    • 2022-01-22
    相关资源
    最近更新 更多