我想创建动态输入系统,例如当我输入文件夹名 - 里面的文件列表自动显示下面的另一个输入ChoiceField,所以我可以选择文件。这些方法已经写好了,问题是 - 我如何在Django视图中创建它?Django动态输入
这是我的观点:
def get_name(request):
if request.method == 'POST':
form = NameForm(request.POST)
if form.is_valid():
dir_date = format_date(request.POST['date'])
files = os.listdir(os.path.join(path+dir_date))
return render(request, 'inform/show_name.html', {'data': request.POST['your_name'],
'date': format_date(request.POST['date'])})
else:
form = NameForm()
return render(request, 'inform/base.html', {'form': form})
这里是窗体类:
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
date = forms.DateField(widget=forms.DateInput(attrs={'class': 'datepicker'}))
flights = forms.ChoiceField(choices=?)
最后,这里是我的模板。
{% extends 'inform/header.html' %}
{% block content %}
<script>
$(function() {
$(".datepicker").datepicker();
$("#anim").on("change", function() {
$("#datepicker").datepicker("option", "showAnim", $(this).val());
});
});
</script>
<div class="container" style="color: red; size: auto;">
<form class="form-vertical" action="get_name" role="form" method="post">
{% csrf_token %}
<div class="form-group" style="display: inherit">
<center>
{{form}}
<input type="submit" value="OK">
</center>
</div>
</form>
</div>
{% endblock %}
有没有办法从日期输入动态读取数据,并把它交给视图内的方法,无需点击提交按钮或创建几个人?如果只能通过ajax,jQuery或JS解决,你能给我一个简单的例子吗?我很无奈创建一个简单的表单。
预先感谢您!
是的。你明白了,它可以通过使用ajax来解决。我会告诉你一个简短的例子。 –