我知道这是一个新手问题,但是,我想在我自己的一个模板中呈现模型的表格列表视图。
从管理界面获取表单而不是编写自己的表单似乎不是一件容易的事。我在这里有错误的想法吗?
像往常一样,文档似乎带我到目前为止......
如果这是一种明智的做法,我该怎么做呢? 如果不是 - 是否有好的片段?
答案 0 :(得分:5)
我从Django开始就用django-admin来思考一切时犯了错误。尝试将管理员视为“只是另一个应用程序”。你想做什么?您是否只想列出特定型号的对象?如果是这样,那很容易手动编写:
<强> views.py 强>
def list_objects(request):
return simple.direct_to_template(request,
template='folder/templ.html',
extra_context={
"objects" : MyModel.objects.all().order_by('some_field')
})
<强> templ.html 强>
...
<ul>
<li>
{{ object.title }}
</li>
</ul>
另一方面,如果您想添加添加/删除/编辑对象等功能,那么它会更复杂一些。您需要为模型创建表单,以及一些其他视图来处理不同的任务。
Django试图通过提供 generic_views 来重复这些重复生活。看一下,你会发现他们需要编写CRUD(创建,更新删除)界面等一些痛苦。