在我自己的模板中使用Django管理列表视图?

Diz*_*ley 0 forms django templates

我知道这是一个新手问题,但是,我想在我自己的一个模板中呈现模型的表格列表视图.

看起来从管理界面拿起表单而不是写我自己的表格应该是没脑子的.我在这里有错误的想法吗?

像往常一样,文档似乎带我到目前为止......

如果这是一个明智的方法,我该怎么办呢?如果不是 - 有可用的好片段吗?

Tim*_*ony 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')
        })
Run Code Online (Sandbox Code Playgroud)

templ.html

...
<ul>
    <li>
        {{ object.title }}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您想添加添加/删除/编辑对象等功能,那么它会更复杂一些.您需要为模型创建表单,以及一些其他视图来处理不同的任务.

Django试图通过提供generic_views来重复这些重复生活.看看,你会发现他们需要编写CRUD(创建,更新删除)界面等一些痛苦.