从管理站点导航到同一项目中的某个应用程序

时间:2014-09-13 08:26:47

标签: python django django-admin

我是Django的新手,我遇到了一个主要问题。我想转移到我的应用程序,然后说#34;学生"。我希望用户点击链接,只需从管理站点移动到其中一个应用程序。 在此先感谢任何类型的帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

在模型中定义方法:

def get_absolute_url(self):
   return "An url computed with resolve() for example"

管理端右上角会出现一个按钮。

实施例

def get_absolute_url(self):
   return resolve('home_page')

会将您转到名为(urls.py)' home_page'的页面。

请参阅https://docs.djangoproject.com/en/dev/ref/models/instances/#get-absolute-url

[编辑]

django文档中没有详细记录。您必须在Django源代码树中搜索。

首先使用此路径创建模板(假设templates是您的模板默认根目录):

templates/admin/index.html

其中包含:

{%extends 'admin/base_site.html'%}
{%block content%}
<style>
    a.btn { display: inline-block; padding: 5px; margin-right: 10px; border: 1px solid black; border-radius: 5px; line-height: 50px; }
</style>
<div><a href="/admin/app1/model1/" class="btn">Your first app with the model1</a></div>
<div><a href="/admin/app1/model2/" class="btn">Your first app with the model2</a></div>
<div><a href="/admin/app2/model/" class="btn">Your second app with a model</a></div>
{% endblock %}

这是一个非常基本的示例,它将完全覆盖标准演示文稿。你可以添加一些CSS的按钮。

要添加条目,您可以添加:

<div><a href="/admin/app1/model1/add/">Add a new entry in app1/model1</a></div>

所有Django管理模板都在此路径中。理解它可能非常有用:

[DJANGO_ROOT]/contrib/admin/templates/

我认为这就是你想要的。

干杯