2016-09-05 65 views
0

我需要在管理員中編輯「添加對象」動作。它需要將用戶重定向到自定義原因添加對象所需的邏輯太複雜,無法在管理員中進行管理。那麼,我該如何做到這一點呢?即:Django。自定義動作模型

enter image description here

圖爲Django的西裝管理,但問題是一樣的。我怎樣才能讓該按鈕重定向到自定義網址?或者,我如何創建一個重定向到自定義url的類似按鈕(我可以禁用默認創建並僅保留自定義按鈕)。

回答

1

覆蓋change_list_template html,代碼塊object-tools-items。這是添加按鈕的位置。

class MyModelAdmin(admin.ModelAdmin): 
    change_list_template = 'change_list.html' 

在你change_list.html

{% extends "admin/change_list.html" %} 
{% load i18n admin_static admin_list %} 

{% block object-tools-items %} 
     {% if has_add_permission %} 
     <li> 
      <a href="your/custom/url" class="addlink"> 
      {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %} 
       </a> 
     </li> 
     {% endif %} 
{% endblock %} 

您需要添加新的HTML中所包含的TEMPLATE_DIRS選項的任意目錄。但是,您應該在模型的應用程序中執行此操作。

-app 
    -templates 
     -admin 
       change_list.html 

在TEMPLATE DIRS路徑中添加上面的dir。

+0

謝謝大家,只是一個簡單的問題,我應該在哪裏放置'change_list.html'文件? – alejoss

+0

@alejoss檢查我的答案。我更新了它 – levi

+0

謝謝你,它工作。 – alejoss