Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中创建下拉菜单?_Python_Django_Select_Choicefield - Fatal编程技术网

Python 如何在Django中创建下拉菜单?

Python 如何在Django中创建下拉菜单?,python,django,select,choicefield,Python,Django,Select,Choicefield,我试图在Django中创建一个下拉菜单,但在输出中没有这样的菜单 以下是my view.py: class MajorProgramForm(forms.Form): major_programs = forms.ChoiceField(label="Major Programs", choices=MAJORS, required=True) def choose_major_program(request): if request.method == "GET":

我试图在Django中创建一个下拉菜单,但在输出中没有这样的菜单

以下是my view.py:

class MajorProgramForm(forms.Form):
    major_programs = forms.ChoiceField(label="Major Programs", choices=MAJORS, required=True)

def choose_major_program(request):
    if request.method == "GET":
        form = MajorProgramForm(request.GET)
    context["form"] = form
    return render(request, "program.html", context)
这是我的template.py:

<html>
    <head>
        <title>Choose Your Courses</title>
    </head>
    <body>
        <div id="header">
            <h1>Choose Your Courses</h1>
        </div>
        <div class="frame">
            <form name="form", action="{% url 'choose_major_program' %}" method="GET">
                {% csrf_token %}
                <ul>
                {% for option in form.major_programs.choices %}
                    <li>{{ option.name }}</li>
                {% endear %}
                </ul>
                <input type="submit" value="Submit">
            </form>
        </div>
     </body>
</html>
结果是:


谢谢

我想你想要的是一个选择输入

<select name="major_choice">
{% for option in form.major_programs.choices %}
    <option>{{ option.name }}</option>
{% endear %}
</select>

{form.major\u programs.choices%中的选项为%
{{option.name}
{%endar%}

谢谢您的建议!编辑代码后,输出中有一个下拉框,但下拉框为空。
<select name="major_choice">
{% for option in form.major_programs.choices %}
    <option>{{ option.name }}</option>
{% endear %}
</select>