python - 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
,该视图action
在manifest_references.html
. 请有人帮我确定为什么会这样。
解决方案
推荐阅读
- android - protobuf lite和protobuf java和protobuf javalite中的重复类
- html - AutoComplete 在 AngularJs 和 jquery 项目中不起作用。当自动完成触发输入字段更改为 autocomplete = "off"
- postgresql - 基于模式的PostgreSQL字符串编辑
- shell - 如何grep以单引号开头的行,字母后跟固定数字?
- ruby-on-rails - Rails 6/Hotwire - 当链接到某个页面时如何强制“整页加载”
- sql - SQL - 如何用任何其他循环替换 While 循环 - 性能问题
- python - 最大公约数程序抛出Valueexception
- laravel - 我是否必须在 AWS ec2 实例上为 laravel 应用程序安装和设置防火墙?
- python - Django 查询设置无类型变量
- javascript - 改变/更新对象数组,同时解构不改变数组的对象属性