如何从视图中呈现特定的 Django 管理页面?

Posted

技术标签:

【中文标题】如何从视图中呈现特定的 Django 管理页面?【英文标题】:How can i render a specific Django admin page from a view? 【发布时间】:2019-11-30 14:32:18 【问题描述】:

我知道可以通过这样做从模板反转到管理页面:

% url 'admin:index' %

% url 'admin:app_model_add' %

但是如何在我的视图中使用渲染功能来渲染管理页面呢?

当我这样做时

render(request, template_name='admin/index.html')

我看到一个空白的管理页面,其中显示“您无权查看或编辑任何内容”

此外,我不确定呈现特定管理模板的语法是什么,即相当于在模板中使用此反向:

管理员:app_model_add

在视图中不是这样的:

render(request, template_name='admin/app_model_add.html')

【问题讨论】:

不清楚你想要什么。你是什​​么意思,“渲染一个管理页面”?管理员呈现管理页面;您可以链接或重定向到它。 好的,谢谢你帮我解决了这个问题。我想重定向而不是渲染所以实际上我需要做 redirect(to=reverse('admin:app_model_add')) 请发布您的管理员视图。 【参考方案1】:

事实上我不应该尝试渲染一个管理页面,我应该重定向到它。

所以在我看来我应该使用:

重定向(to=reverse('admin:index'))

重定向(to=reverse('admin:app_model_add'))

【讨论】:

请用-1添加一些建议,单独投反对票对任何人都没有真正的用处

以上是关于如何从视图中呈现特定的 Django 管理页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何从视图生成 Django 管理站点中特定项目的 url?

从 django 中的视图更新模板标签的值

如何从 django 视图发送 json 并在 HTML 上接收它

Django 视图只呈现一页,不会呈现其余页面

如何从不相关的操作中呈现特定视图?

从视图中设置标题状态