首页 > 解决方案 > URL 在 Django 中显示错误的表单和视图

问题描述

我正在尝试呈现唯一字段是下拉列表的表单。我已经设置了表单、视图、.html、url。但是当我访问这个 url 时,它显示了一个不同的表单和视图,我想也是一个不同的 .html。我很困惑为什么会发生这种情况,因为它已经运行了很长一段时间,所以我显然改变了一些东西。

表格.py

#this is the form for the dropdown
class ManifestDropDown(forms.Form):
    References = forms.ModelChoiceField(queryset=Orders.objects.values_list('reference', flat=True).distinct(),
    empty_label=None)

manifest_references.html

<!--html for dropdown-->

{% extends 'base.html' %}

{% block body %}

<div class="container">

  <form method="POST" action="manifest">

    {% csrf_token %}
    {{ reference_list }}

    <button type="submit" class="btn btn-primary" name="button">Submit</button>
  </form>

</div>

{% endblock %}

视图.py

#view for dropdown
def manifest_references(request):
    if request.method == 'POST':
        if form.is_valid():
            reference_id = form.cleaned_data.get('References')
            form.save()

    query_results = Orders.objects.all()
    reference_list = ManifestDropDown()

    context = {
        'query_results': query_results,
        'reference_list': reference_list,
    }
    return render(request, 'manifest_references.html', context)

网址.py

url(r'^manifest_references', manifest_references, name='manifest_references'),

base.html

<!--showing the link to this url-->
...

<a class="dropdown-item" href="{% url 'manifest_references' %}">Edit Manifests</a>

当我访问上面的 url - 而不是显示manifest_references带有下拉列表的视图时,它会立即跳转到另一个视图manifest,该视图actionmanifest_references.html. 请有人帮我确定为什么会这样。

标签: pythondjango

解决方案


推荐阅读