Django管理界面:如何根据用户选择显示不同模型?
我正在用Django创建一个投票应用。管理员用户的操作流程如下:
管理员点击“添加问题”,这时会出现一个简单的页面,上面有一个下拉列表,里面有三种问题类型(对/错、多选、单选)。基本上,每种类型的问题都会有三种问题模型。
根据管理员在下拉列表中的选择,系统会显示相应的模型,管理员可以在这个模型中输入不同字段的值。
就这么简单!看起来很基础,但作为Django的新手,我找不到解决办法。任何帮助都非常感谢。
谢谢!
2 个回答
1
这其实不是你可以指望在Django中自带的功能。
你可以利用Django自带的功能,比如CRUD接口(创建、读取、更新、删除),然后设置一个起始页面,里面有一个下拉列表,选择后可以通过一些JavaScript跳转到相应的模型。
<script>
// I'm using jQuery since I can type it as fast as pseudo code...
$(function() {
$("select").change(function() {
window.location = $(this).val();
})
})
</script>
<select>
<option value="{% url admin:myapp_mymodel1_add %}">Model 1</option>
<option value="{% url admin:myapp_mymodel2_add %}">Model 2</option>
<option value="{% url admin:myapp_mymodel3_add %}">Model 3</option>
</select>
0
你真的必须用管理员界面吗?我觉得如果你想创建一个涉及处理多个表单数据的自定义工作流程,使用一系列常见的表单会更好。
你可以用Django的表单向导把你的表单连接起来。